JavaScript test
10.6K subscribers
3.03K photos
6 videos
4.16K links
Проверка своих знаний по языку JavaScript.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/js_test

РКН: clck.ru/3KHeYk
Download Telegram
❗️Что будет на выходе:

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);

Ответ: 6

JavaScript test | #JavaScript
❗️Что будет на выходе:

const ws = new WeakSet();
const obj1 = { name: 'first' };
const obj2 = { name: 'second' };
const obj3 = obj1;

ws.add(obj1);
ws.add(obj2);
ws.add(obj3);

console.log(ws.has(obj1));
console.log(ws.has(obj3));
console.log(ws.has({ name: 'first' }));
console.log(ws.size);

Ответ: true true false undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:

function* innerGenerator() {
yield 1;
yield 2;
return 'inner-done';
}

function* outerGenerator() {
yield 'start';
const result = yield* innerGenerator();
yield result;
yield 'end';
}

const gen = outerGenerator();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);

Ответ: start 1 2 inner-done end

JavaScript test | #JavaScript
❗️Что будет на выходе:

function processData() {
const results = [];

for (let i = 0; i < 3; i++) {
const multiplier = i + 1;

setTimeout(() => {
results.push(i * multiplier);
}, 0);
}

setTimeout(() => {
console.log(results.join(','));
}, 10);
}

processData();

Ответ: 0,2,6

JavaScript test | #JavaScript
❗️Что будет на выходе:

class Calculator {
constructor(value) {
this.value = value;
}

add(num) {
this.value += num;
return this;
}

multiply(num) {
this.value *= num;
return this;
}
}

const calc = new Calculator(5);
const addMethod = calc.add;
const result = addMethod.call(calc, 3).multiply(2);
console.log(result.value);

Ответ: 16

JavaScript test | #JavaScript