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

Ссылка: @Portal_v_IT

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

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

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

const wMap = new WeakMap();

function foo() {
wMap.set(this, 1);
};
const bar = () => wMap.set(this, 2);

bar();
foo();

console.log(wMap.get(this));

Ответ: 1

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

const a = { valueOf: function() { return this.x }, x: 1
};
const b = { valueOf: function() { return this.y }, y: 1
};
console.log(a + b);

Ответ: 2

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

const arr = [1,2,3];
arr[Symbol.iterator] = function*() { yield *[3,2,1]; };

for (const n of arr) {
console.log(n);
}

Ответ: 3, 2, 1

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

const obj = {
outer: 1,
inner: {
outer: 10,
inner: 20
}
};

let result = 0;

with (obj) {
result += outer;
with (inner) {
result += outer + inner;
}
}

console.log(result);

Ответ: 31

JavaScript test | ChatGPT | #JavaScript
Использование JavaScript Animation API для создания анимаций и переходов на веб-странице

Animation API позволяет создавать анимации и переходы на веб-страницах с использованием JavaScript, что может улучшить пользовательский опыт и привлечь внимание к определенным элементам.

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

const numbers = [0,0,0];

let i = 0;
const result = numbers.reduce((acc, _) => {
return ++acc;
}, i);

console.log(i, result);

Ответ: 0 3

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

function createCounter() {
let count = 0;
return {
increment() {
count++;
return count;
},
getCount() {
return count;
}
};
}

const counter = createCounter();

console.log(counter.increment());
console.log(counter.getCount());
console.log(counter.increment());
console.log(counter.getCount());

Ответ: 1, 1, 2, 2

JavaScript test | ChatGPT | #JavaScript
Использование JavaScript FileReader API для чтения файлов на стороне клиента

FileReader API позволяет веб-приложениям читать содержимое файлов на стороне клиента без необходимости отправлять файлы на сервер. Это может быть полезно, например, для загрузки и обработки текстовых файлов, изображений и других медиафайлов.

JavaScript test | ChatGPT | #JavaScript
Работа с Promise

Этот код создает и использует промис для асинхронной обработки данных и управления успешными и неуспешными результатами.

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

const obj = {
a: 1,
b: 2,
getSum() {
return this.a + this.b;
}
};

const cloneObj = { ...obj, getSum() { return this.b + this.a; } };

console.log(obj.getSum());
console.log(cloneObj.getSum());

Ответ: 3 3

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

Ответ: 4, [1, 2, 3, 4]

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

const a = [1, 2, 3];
const b = a;

b[0] = 0;

console.log(a);

Ответ: [0, 2, 3]

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

const obj = {
value: 42,
getValue() {
return Math.max(this.value, 50);
}
};

const obj2 = {
value: 25,
getValue: obj.getValue
};

console.log(obj.getValue());
console.log(obj2.getValue());

Ответ: 50, 50

JavaScript test | ChatGPT | #JavaScript
Работа с Web-сокетами (WebSockets)

Этот код демонстрирует, как устанавливать WebSockets-соединение с сервером, отправлять и получать сообщения в режиме реального времени. WebSockets широко используются для создания интерактивных и мгновенных веб-приложений.

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

var a = 'b';
var b = 'c';

(function () {
console.log(a);
var a = 'd';
b = 'e';
console.log(b);
})();

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

Ответ: undefined e b e

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

const obj = {
count: 0,
increment() {
this.count++;
},
getCount() {
return (() => this.count)();
}
};

obj.increment();
obj.increment();

console.log(obj.getCount());

Ответ: 2

JavaScript test | ChatGPT | #JavaScript
Группировка данных с помощью reduce

Метод reduce применяется для агрегации значений в массиве. В этом примере, мы используем reduce для вычисления суммы чисел.

JavaScript test | ChatGPT | #JavaScript
Работа с Resize Observer для отслеживания изменений размеров элементов

Resize Observer позволяет отслеживать изменения размеров элементов и реагировать на них в коде.

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

const obj = {
data: [1, 2, 3],
getData() {
return this.data.map(x => x * 2);
}
};

const newData = obj.getData.bind({ data: [4, 5, 6] })();
console.log(newData);

Ответ: [8, 10, 12]

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

const numbers = [2, 4, 6, 8, 10];
const oddIndices = numbers.filter((_, index) => index % 2 === 1);
const sum = oddIndices.reduce((acc, value) => acc + value, 0);
console.log(sum);

Ответ: 12

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

const arr = [1, 2, 3, 4, 5];

function foo(arr) {
const newArr = arr.filter((item) => item % 2 === 0).map((item) => item * 2);
return newArr.reduce((acc, item) => acc + item, 0);
}

console.log(foo(arr));

Ответ: 12

JavaScript test | ChatGPT | #JavaScript