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

Ссылка: @Portal_v_IT

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

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

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

function* fibGenerator() {
let a = 0, b = 1;
while (true) {
let next = a + b;
a = b;
b = next;
yield next;
}
}

const gen = fibGenerator();
const fibArray = Array.from({ length: 5 }, () => gen.next().value);

console.log(fibArray);

Ответ: [1, 2, 3, 5, 8]

JavaScript test | ChatGPT | #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);

Ответ: 6

JavaScript test | ChatGPT | #JavaScript
Array.prototype.reduce()

Метод reduce() применяет функцию аккумулятора к каждому элементу массива и возвращает одно значение.

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

function* reverseGenerator(arr) {
for (let i = arr.length - 1; i >= 0; i--) {
yield arr[i];
}
}

const result = [...reverseGenerator([1, 2, 3, 4, 5])].join('');

console.log(result);

Ответ: "54321"

JavaScript test | ChatGPT | #JavaScript
Array.prototype.find()

Метод find() возвращает первый элемент массива, удовлетворяющий заданному условию.

JavaScript test | ChatGPT | #JavaScript
String.prototype.startsWith()

Метод startsWith() проверяет, начинается ли строка с заданной подстроки.

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

const weakMap = new WeakMap();
const obj1 = {};
const obj2 = {};

weakMap.set(obj1, 'value1');
weakMap.set(obj2, 'value2');

const arr = [obj1, obj2];
const result = arr.map(obj => weakMap.get(obj)).join(', ');

console.log(result);

Ответ: "value1, value2"

JavaScript test | ChatGPT | #JavaScript
Функции высшего порядка

Функции могут принимать другие функции как аргументы или возвращать их.

JavaScript test | ChatGPT | #JavaScript
Перебор свойств

Мы можем перебрать все свойства объекта и получить их ключи и значения.

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

function* idGenerator() {
let id = 1;
while (true) {
yield id++;
}
}

const gen = idGenerator();
const weakMap = new WeakMap();
const objs = [{}, {}, {}];

objs.forEach(obj => weakMap.set(obj, gen.next().value));

const result = objs.map(obj => weakMap.get(obj)).filter(id => id % 2 === 0);

console.log(result);

Ответ: [2]

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

console.log("my string" instanceof String);

Ответ: false

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

console.log(false == '0');

Ответ: true

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

console.log(3 > 2 > 1);

Ответ: false

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

const words = ['a', 'b', 'c'];
const result = words.concat(1, 2, 3);
console.log(result);

Ответ: ['a', 'b', 'c', 1, 2, 3]

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

let a = 1;
let b = new Number(1);
let c = '1';

console.log(a == b);
console.log(a === b);
console.log(b == c);

Ответ: true false true

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

function foo() {
return typeof arguments;
};
console.log(foo(1, 2, 3));

Ответ: object

JavaScript test | ChatGPT | #JavaScript
const weakMap = new WeakMap();
const obj = {};

(function() {
const obj1 = { name: 'inner' };
weakMap.set(obj1, 'inner value');
})();

const result = weakMap.get(obj);

console.log(result);

Ответ: undefined

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?


const weakMap = new WeakMap();
const obj = {};
const gen = (function* () {
yield 'value1';
yield 'value2';
})();

weakMap.set(obj, gen.next().value);

console.log(weakMap.get(obj));
console.log(gen.next().value);

Ответ: "value1", "value2"

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

console.log(2 + 2 % 3);

Ответ: 4

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

let i = 0;
console.log(++i, i++, i);

Ответ: 1, 1, 2

JavaScript test | ChatGPT | #JavaScript
Что будет на выходе?

console.log(Math.round(0.31 + 0.19));

Ответ: 1

JavaScript test | ChatGPT | #JavaScript