Проверка наличия свойства
Оператор
JavaScript test | ChatGPT | #JavaScript
Оператор
in позволяет проверить наличие определенного свойства в объекте перед его использованием.JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
function a() {
console.log(arguments[0]);
}
a([1]);Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
let count = 0;
const counter = (function() {
count = 0;
return function() {
count += 1;
return count;
};
})();
count = 10;
counter();
console.log(count);
Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
let obj1 = { x: 1, y: { z: 2 }};
let obj2 = { ...obj1 };
obj2.x = 2;
obj2.y.z = 3;
console.log(obj1.x, obj1.y.z);Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
console.log(typeof Object);
console.log(typeof Object());
Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const EventEmitter = require("events");
const emitter = new EventEmitter();
emitter.once("test", v => console.log(v));
emitter.on("test", v => console.log(v));
for (let i = 0; i < 3; i++) {
emitter.emit("test", i);
}Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const arr = new Array(3);
for (const i in arr) {
console.log(i);
}
Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const arr = Array.from({ length: 3 }, (_, i) => i * 2);
for (const i of arr) {
console.log(i);
} Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const target = {
age: 30
};
const handler = {
get: function(obj, prop) {
return obj[prop]++;
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.age);
console.log(target.age);
console.log(proxy.age);Ответ:
JavaScript test | ChatGPT | #JavaScript
Итерация по свойствам объекта
Данный цикл позволяет перебрать все свойства объекта
JavaScript test | ChatGPT | #JavaScript
Данный цикл позволяет перебрать все свойства объекта
person и вывести их ключи и значения.JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
let obj1 = { key: 'value1' };
let obj2 = { key: 'value2' };
const weakMap = new WeakMap();
weakMap.set(obj1, 'data1');
weakMap.set(obj2, 'data2');
obj1 = null;
setTimeout(() => {
console.log(weakMap.has(obj1));
console.log(weakMap.has(obj2));
}, 100);Ответ:
JavaScript test | ChatGPT | #JavaScript
Объекты как аргументы функций
Объект
JavaScript test | ChatGPT | #JavaScript
Объект
person передается в функцию printInfo, где выводится информация о человеке.JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
var a = 1;
function b() {
a = 10;
return;
function a () {}
}
b();
console.log(a);
Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const target = {
secret: "hidden",
reveal: "nothing"
};
const handler = {
get: function(obj, prop, receiver) {
if (prop === "secret") {
return "revealed";
}
return Reflect.get(...arguments);
}
};
const proxy = new Proxy(target, handler);
with (proxy) {
console.log(secret);
console.log(reveal);
}Ответ:
JavaScript test | ChatGPT | #JavaScript
Динамические ключи
Ключи объекта могут быть созданы динамически с использованием вычисляемых свойств.
JavaScript test | ChatGPT | #JavaScript
Ключи объекта могут быть созданы динамически с использованием вычисляемых свойств.
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const num = 10;
const add = () => {
console.log(num + num);
};
(function () {
const num = 5;
add();
})();
Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
function* evenNumbers() {
let num = 0;
while (true) {
yield num;
num += 2;
}
}
const gen = evenNumbers();
const evens = Array.from({ length: 4 }, () => gen.next().value).map(n => n + 1);
console.log(evens);Ответ:
JavaScript test | ChatGPT | #JavaScript
Object.create()
Метод
JavaScript test | ChatGPT | #JavaScript
Метод
Object.create() позволяет создать новый объект с указанным прототипом. В данном случае, myCar наследует метод startEngine от объекта car.JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const hello = () => console.log("Hello");
const a = { hello };
const b = JSON.parse(JSON.stringify(a));
b.hello();Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
canst a = Object.create({ x: 1 }, {});
a.__proto__.y = 2;
const b = JSON.parse(JSON.stringify(a));
console.log(a.y, b.y);Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const num = 9;
const str = num.toString().padStart(3, "0");
console.log(str);
Ответ:
JavaScript test | ChatGPT | #JavaScript