❗️Что будет на выходе:
Ответ:start object string end
JavaScript test | #JavaScript
async function fetchData() {
return Promise.resolve('data');
}
async function processData() {
console.log('start');
const result = fetchData();
console.log(typeof result);
const data = await fetchData();
console.log(typeof data);
console.log('end');
}
processData();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ: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
❓Что будет на выходе?
Ответ:{ theme: 'dark', notifications: true, location: 'Canada' }
JavaScript test | #JavaScript
const defaultSettings = {
theme: 'light',
notifications: true,
location: 'USA'
};
const userSettings = {
theme: 'dark',
location: 'Canada'
};
const finalSettings = {
...defaultSettings,
...userSettings
};
console.log(finalSettings);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:6
JavaScript test | #JavaScript
const obj = { a: 1, b: 2, c: 3 };
const result = Object.values(obj).reduce((acc, curr) => acc * curr, 1);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Hello, John
JavaScript test | #JavaScript
const person = {
name: "John",
greet: function() {
const getMessage = () => `Hello, ${this.name}`;
return getMessage();
}
};
console.log(person.greet());
Ответ:
❗️Что будет на выходе:
Ответ:1 8 3 4 6 7 2 5
JavaScript test | #JavaScript
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
queueMicrotask(() => console.log('4'));
setTimeout(() => console.log('5'), 0);
Promise.resolve().then(() => {
console.log('6');
return Promise.resolve();
}).then(() => console.log('7'));
console.log('8');
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:2, 4, 6, 8, 10, 12
JavaScript test | #JavaScript
const array = [1, 2, [3, 4, [5, 6]]];
const result = array.flat(2).map(n => n * 2);
console.log(result);
Ответ:
JavaScript test | #JavaScript