❓Что будет на выходе?
function* generator() {
yield* [1, 2];
yield* (function* () { yield 3; yield 4; })();
}
const gen = generator();
console.log([...gen]);Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
function* range(n) {
if (n <= 0) return n;
let i = 0;
while(i !== n) {
yield i++;
}
}
let seq = range(2);
for (const i of seq) {
console.log("loop1", i);
}
for (const i of seq) {
console.log("loop2", i);
}Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const obj = {
a: 1,
b() {
return this.a + 1;
}
};
const { b } = obj;
console.log(b());Ответ:
JavaScript test | ChatGPT | #JavaScript
Деструктуризация объекта
Мы можем извлечь свойства объекта с помощью деструктуризации.
JavaScript test | ChatGPT | #JavaScript
Мы можем извлечь свойства объекта с помощью деструктуризации.
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const a = [1, 2, 3, 4];
console.log(a + "");
Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const a = document.createElement("a");
a.id = "test1";
a.href = "test2";
document.body.appendChild(a);
console.log(window.test1);Ответ:
JavaScript test | ChatGPT | #JavaScript
Объекты как аргументы функций
Мы можем передавать объекты как аргументы функций для удобной работы с данными.
JavaScript test | ChatGPT | #JavaScript
Мы можем передавать объекты как аргументы функций для удобной работы с данными.
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const obj = { a: 1, b: 2 };
Object.defineProperty(obj, 'b', { value: 3, writable: false });
obj.b = 4;
console.log(obj.b);Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const base = { x: 1 };
const obj = Object.freeze(base);
base.y = 2;
console.log(base.y);Ответ:
JavaScript test | ChatGPT | #JavaScript
❓Что будет на выходе?
const a = { value: 1 };
const b = Object.create(a);
b.value = 2;
console.log(b.value);
console.log(a.value);Ответ:
JavaScript test | ChatGPT | #JavaScript
Проверка наличия свойства
Оператор
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