❗️Что будет на выходе:
Ответ:TypeError: foo is not a function
JavaScript test | #JavaScript
if (false) {
function foo() {
return 1;
}
}
console.log(foo());Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:5, undefined
JavaScript test | #JavaScript
function main({ x, y } = { x: 1, y: 2 }) {
console.log(x, y);
}
main({ x: 5 });Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:New York Property 'country' doesn't exist
JavaScript test | #JavaScript
const obj = { name: 'Alice', age: 30 };
const handler = {
get(target, prop) {
return prop in target ? target[prop] : `Property '${prop}' doesn't exist`;
}
};
const proxy = new Proxy(obj, handler);
const descriptors = Object.getOwnPropertyDescriptors(obj);
Reflect.defineProperty(obj, 'city', {
value: 'New York',
enumerable: false
});
console.log(proxy.city, proxy.country);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:a, b
JavaScript test | #JavaScript
let obj = { a: 1 };
let proto = { b: 2 };
Object.setPrototypeOf(obj, proto);
for (let key in obj) {
console.log(key);
}Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:World Hello
JavaScript test | #JavaScript
function asyncQuiz() {
return new Promise((resolve) => {
setTimeout(() => resolve('Hello'), 1000);
});
}
async function runAsyncQuiz() {
const result = await asyncQuiz();
console.log(result);
}
runAsyncQuiz();
console.log('World');Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:31/12/23 01/01/24
JavaScript test | #JavaScript
const text = 'Today is 2023-12-31 and tomorrow is 2024-01-01';
const dateRegex = /(\d{4})-(\d{2})-(\d{2})/g;
let result = '';
let match;
while ((match = dateRegex.exec(text)) !== null) {
const [fullMatch, year, month, day] = match;
result += `${day}/${month}/${year.slice(2)} `;
}
console.log(result.trim());
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:HELLO and WORLD are great!
JavaScript test | #JavaScript
function tag(strings, ...values) {
return strings.reduce((acc, str, i) => {
return acc + str + (values[i] ? values[i].toUpperCase() : '');
}, '');
}
const first = "hello";
const second = "world";
const result = tag`${first} and ${second} are great!`;
console.log(result);Ответ:
❗️Что будет на выходе:
Ответ:Error
JavaScript test | #JavaScript
console.log(MyClass);
class MyClass {
constructor() {
this.value = 42;
}
}
Ответ:
❗️Что будет на выходе:
Ответ:1 2 1 2
JavaScript test | #JavaScript
function* counter() {
let count = 1;
while (true) {
const reset = yield count++;
if (reset) {
count = 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);Ответ:
❗️Что будет на выходе:
Ответ:[1, 2, 3, 4], 5
JavaScript test | #JavaScript
const obj = Object.freeze({
a: [1, 2, 3],
b: {
c: 4
}
});
obj.a.push(4);
obj.b.c = 5;
console.log(obj.a);
console.log(obj.b.c);Ответ:
❗️Что будет на выходе:
Ответ:6
JavaScript test | #JavaScript
function* alternatingGenerator() {
yield 1;
yield 2;
yield 3;
}
const gen = alternatingGenerator();
const result = [gen.next().value, gen.next().value, gen.next().value].reduce((acc, curr) => acc + curr, 0);
console.log(result);Ответ:
❗️Что будет на выходе:
Ответ:undefined function function function
JavaScript test | #JavaScript
function outer() {
console.log(typeof inner);
console.log(typeof inner2);
var inner = function() {
return 'Inside inner';
};
function inner2() {
return 'Inside inner2';
}
console.log(typeof inner);
console.log(typeof inner2);
}
outer();Ответ:
❗️Что будет на выходе:
Ответ:12
JavaScript test | #JavaScript
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2)
.reduce((acc, curr, idx, arr) => {
if (idx === arr.length - 1) {
return (acc + curr) / arr.length;
}
return acc + curr;
}, 0);
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:undefined
JavaScript test | #JavaScript
const obj = {
x: 10,
foo() {
setTimeout(function() {
console.log(this.x);
}, 1000);
}
};
obj.foo();Ответ:
❗️Что будет на выходе:
Ответ:[true, 'today', true, false]
JavaScript test | #JavaScript
const cache = new WeakMap();
const user1 = { name: 'Alice' };
const user2 = { name: 'Bob' };
cache.set(user1, { lastLogin: 'yesterday' });
cache.set(user2, { lastLogin: 'today' });
const result = [];
result.push(cache.has(user1));
result.push(cache.get(user2).lastLogin);
let user3 = { name: 'Charlie' };
cache.set(user3, { lastLogin: 'now' });
result.push(cache.has(user3));
user3 = null; // Removing the reference
// Garbage collector might run here in real situations
const user4 = { name: 'Charlie' }; // Same name, different object
result.push(cache.has(user4));
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:5 20 30 20
JavaScript test | #JavaScript
function processData({ a = 10, b = 20 } = { a: 30 }) {
console.log(a, b);
}
processData({ a: 5 });
processData();Ответ:
❗️Что будет на выходе:
Ответ:revealed nothing
JavaScript test | #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 | #JavaScript
❗️Что будет на выходе:
Ответ:BAN-CHE
JavaScript test | #JavaScript
const items = ['apple', 'banana', 'cherry', 'date'];
const result = items
.map(item => item.toUpperCase())
.filter(item => item.length > 5)
.reduce((acc, item, index) => {
return acc + (index === 0 ? '' : '-') + item.slice(0, 3);
}, '');
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:3
JavaScript test | #JavaScript
const array = [1, 2, 3];
array[-1] = 0;
console.log(array.length);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:12
JavaScript test | #JavaScript
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(n => n % 2 === 0)
.map(n => n * 2)
.reduce((acc, curr, idx, arr) => {
if (idx === arr.length - 1) {
return (acc + curr) / arr.length;
}
return acc + curr;
}, 0);
console.log(result);
Ответ:
JavaScript test | #JavaScript