❗️Что будет на выходе:
Ответ:ReferenceError: Cannot access 'x' before initialization
JavaScript test | #JavaScript
let x = 5;
function foo() {
console.log(x);
let x = 10;
console.log(x);
}
foo();
Ответ:
❗️Что будет на выходе:
Ответ: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
❗️Что будет на выходе:
Ответ:v2 undefined dark undefined
JavaScript test | #JavaScript
const config = { api: 'v1', timeout: 5000 };
Object.seal(config);
const settings = { theme: 'dark', lang: 'en' };
Object.freeze(settings);
config.api = 'v2';
config.retries = 3;
settings.theme = 'light';
settings.debug = true;
console.log(config.api);
console.log(config.retries);
console.log(settings.theme);
console.log(settings.debug);Ответ:
❗️Что будет на выходе:
Ответ:
Value for key2
Value for key2
JavaScript test | #JavaScript
const map = new Map();
const key1 = {};
const key2 = key1;
map.set(key1, "Value for key1");
map.set(key2, "Value for key2");
console.log(map.get(key2));
console.log(map.get(key1));
Ответ:
Value for key2