❗️Что будет на выходе:
Ответ:5, undefined
JavaScript test | #JavaScript
function main({ x, y } = { x: 1, y: 2 }) {
console.log(x, y);
}
main({ x: 5 });
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:55 5 55
JavaScript test | #JavaScript
const memoize = (fn) => {
const cache = new Map();
return (...args) => {
const key = JSON.stringify(args);
if (cache.has(key)) return cache.get(key);
const result = fn(...args);
cache.set(key, result);
return result;
};
};
const fibonacci = memoize((n) => {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
});
console.log(fibonacci(10));
console.log(fibonacci(5));
console.log(fibonacci(10));
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[12, 16, 4, 8]
JavaScript test | #JavaScript
const matrix = [
[2, 4],
[6, 8],
];
const result = matrix.reduceRight((acc, row) => acc.concat(row.map(num => num * 2)), []);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:1 2 2
JavaScript test | #JavaScript
let counter = 0;
const increment = () => ++counter;
const getValue = () => counter;
const obj = {
get value() {
increment();
return getValue();
}
};
console.log(obj.value);
console.log(obj.value);
console.log(counter);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:4 2 1 6 3 5
JavaScript test | #JavaScript
async function fetchData() {
console.log('1');
return Promise.resolve('data');
}
async function processData() {
console.log('2');
const result = await fetchData();
console.log('3');
return result;
}
console.log('4');
processData().then(() => console.log('5'));
console.log('6');
Ответ:
❗️Что будет на выходе:
Ответ:5, undefined
JavaScript test | #JavaScript
function main({ x, y } = { x: 1, y: 2 }) {
console.log(x, y);
}
main({ x: 5 });
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:2 1 1 1
JavaScript test | #JavaScript
function createCounter() {
let count = 0;
return {
increment: () => ++count,
decrement: () => --count,
getValue: () => count
};
}
const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
console.log(counter1.getValue(), counter2.getValue());
counter1.decrement();
console.log(counter1.getValue(), counter2.getValue());
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:6
JavaScript test | #JavaScript
const arr = [1, 2, 3, 4, 5];
const result = arr
.map(x => x * 2)
.filter(x => x > 5)
.reduce((acc, val) => {
return acc + (val % 3 === 0 ? val : 0);
}, 0);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:1,2
JavaScript test | #JavaScript
const a = { x: 1 };
a.__proto__.x = 2;
const b {};
console.log(a.x, b.x);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:1
JavaScript test | #JavaScript
const obj = { length: 3 };
console.log(Object.keys(obj).length);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[2, 4, 6]
JavaScript test | #JavaScript
const weakMap = new WeakMap();
const objs = [{}, {}, {}];
objs.forEach((obj, index) => weakMap.set(obj, index + 1));
const result = objs.filter(obj => weakMap.has(obj)).map(obj => weakMap.get(obj) * 2);
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:1
JavaScript test | #JavaScript
function* infiniteGenerator() {
let i = 0;
while (true) {
yield i++;
}
}
const weakMap = new WeakMap();
const gen = infiniteGenerator();
weakMap.set(gen, gen.next().value);
const result = weakMap.get(gen) + gen.next().value;
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:value3 value2 value3 true undefined
JavaScript test | #JavaScript
const wm = new WeakMap();
const obj1 = { name: 'first' };
const obj2 = { name: 'second' };
const obj3 = obj1;
wm.set(obj1, 'value1');
wm.set(obj2, 'value2');
wm.set(obj3, 'value3');
console.log(wm.get(obj1));
console.log(wm.get(obj2));
console.log(wm.get(obj3));
console.log(wm.has(obj1));
console.log(wm.size);
Ответ:
JavaScript test | #JavaScript
Совет на 2026 год — освойте ВАЙБ-КОДИНГ. ИИ уже пишет код, чинит баги, генерит тесты и документацию быстрее и качественнее любой команды айтишников
И те, кто научится вайбкодить сейчас, будут зарабатывать в разы больше тех, кто всё ещё делает всё вручную
Разобраться в этом с нуля поможет канал Вайб-кодинг. Там простым языком разбирают, какие инструменты действительно стоит использовать, как собирать проекты от идеи до релиза и что сейчас актуально в вайбкодинге
Подписывайтесь, нас уже 15 тысяч: @vibecoding_tg
И те, кто научится вайбкодить сейчас, будут зарабатывать в разы больше тех, кто всё ещё делает всё вручную
Разобраться в этом с нуля поможет канал Вайб-кодинг. Там простым языком разбирают, какие инструменты действительно стоит использовать, как собирать проекты от идеи до релиза и что сейчас актуально в вайбкодинге
Подписывайтесь, нас уже 15 тысяч: @vibecoding_tg
❗️Что будет на выходе:
Ответ:1 30 10 30 1 30
JavaScript test | #JavaScript
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { ...obj1 };
const obj3 = obj1;
obj2.a = 10;
obj2.b.c = 20;
obj3.b.c = 30;
console.log(obj1.a);
console.log(obj1.b.c);
console.log(obj2.a);
console.log(obj2.b.c);
console.log(obj3.a);
console.log(obj3.b.c);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Maya TOKYO Property 'country' not found
JavaScript test | #JavaScript
const target = { name: 'Maya', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop];
}
return `Property '${prop}' not found`;
},
set(obj, prop, value) {
if (typeof value === 'string') {
obj[prop] = value.toUpperCase();
} else {
obj[prop] = value;
}
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.city = 'tokyo';
console.log(proxy.name);
console.log(proxy.city);
console.log(proxy.country);
Ответ:
❗️Что будет на выходе:
Ответ:0,1,1,2,3,4,8,13
JavaScript test | #JavaScript
function* fibonacci() {
let [a, b] = [0, 1];
while (true) {
yield a;
[a, b] = [b, a + b];
}
}
function* takeWhile(generator, predicate) {
for (const value of generator) {
if (!predicate(value)) break;
yield value;
}
}
const fib = fibonacci();
const smallFibs = takeWhile(fib, x => x < 20);
console.log([...smallFibs].join(','));
Ответ:
❗️Что будет на выходе:
Ответ:55 undefined
JavaScript test | #JavaScript
function memoize(fn) {
const cache = new Map();
return function(...args) {
const key = JSON.stringify(args);
if (cache.has(key)) {
return cache.get(key);
}
const result = fn.apply(this, args);
cache.set(key, result);
return result;
};
}
const fibonacci = memoize(function(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
});
console.log(fibonacci(10));
console.log(fibonacci.cache?.size || 'undefined');
Ответ:
❗️Что будет на выходе:
Ответ:'ololloellohello'
JavaScript test | #JavaScript
function recursiveReverseString(str) {
return str === "" ? str : recursiveReverseString(str.substr(1)) + str;
}
const result = recursiveReverseString("hello");
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ: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));
Ответ:
❗️Что будет на выходе:
Ответ:Sarah 4 30
JavaScript test | #JavaScript
const original = {
name: 'Sarah',
scores: [85, 92, 78],
details: {
age: 25,
city: 'Portland'
}
};
const copy1 = { ...original };
const copy2 = JSON.parse(JSON.stringify(original));
copy1.name = 'Emma';
copy1.scores.push(95);
copy1.details.age = 30;
console.log(original.name, original.scores.length, original.details.age);
Ответ:
JavaScript test | #JavaScript