❗️Что будет на выходе:
Ответ:ALICE-BOB-CHARLIE
JavaScript test | #JavaScript
const team = {
members: ['Alice', 'Bob', 'Charlie'],
[Symbol.iterator]: function*() {
let index = 0;
while(index < this.members.length) {
yield this.members[index++].toUpperCase();
}
}
};
const result = [];
for (const member of team) {
result.push(member);
}
console.log(result.join('-'));
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:11
JavaScript test | #JavaScript
const obj = {};
let value = 0;
Object.defineProperty(obj, 'prop', {
get() {
return value;
},
set(newValue) {
value = newValue + 1;
},
configurable: true,
enumerable: true
});
obj.prop = 10;
console.log(obj.prop);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:'done', 'rejected'
JavaScript test | #JavaScript
const a = async () => {
return Promise.reject('rejected');
};
a().catch(error => console.log(error));
console.log('done');
Ответ:
❗️Что будет на выходе:
Ответ:true, false, data, for user2
JavaScript test | #JavaScript
const map = new WeakMap();
let obj1 = { name: 'user1' };
let obj2 = { name: 'user2' };
map.set(obj1, 'data for user1');
map.set(obj2, 'data for user2');
console.log(map.has(obj1));
obj1 = null;
console.log(map.has(obj1));
console.log(map.get(obj2));
Ответ:
❗️Что будет на выходе:
Ответ:David
JavaScript test | #JavaScript
function Person(name) {
this.name = name;
this.sayName = () => console.log(this.name);
}
const person1 = new Person('David');
const person2 = { name: 'Not David', sayName: person1.sayName };
person2.sayName();
Ответ:
❗️Что будет на выходе:
Ответ:undefined Sarah Sarah
JavaScript test | #JavaScript
const user = {
name: 'Sarah',
age: 28,
getName() {
return this.name;
}
};
const { getName } = user;
const boundGetName = user.getName.bind(user);
console.log(getName());
console.log(boundGetName());
console.log(user.getName());
Ответ:
❗️Что будет на выходе:
Ответ:1 2 3 4
JavaScript test | #JavaScript
function* outer() {
yield 1;
yield* inner();
yield 4;
}
function* inner() {
yield 2;
yield 3;
}
const gen = outer();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
Ответ:
❗️Что будет на выходе:
Ответ:1, 2, 1, 2
JavaScript test | #JavaScript
function* counter() {
let i = 1;
while (true) {
const reset = yield i++;
if (reset) {
i = 1;
}
}
}
const gen = counter();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next(true).value);
console.log(gen.next().value);
Ответ:
JavaScript test | #JavaScript