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

Ссылка: @Portal_v_IT

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

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

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

const obj = {
a: 1,
b: function() {
console.log(this.a);
}
};
const func = obj.b;
func();


Ответ: [undefined

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

function* generator() {
yield 1;
yield 2;
yield 3;
}
const gen = generator();
console.log(gen.next().value);
console.log(gen.next().value);


Ответ: 1, 2

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

function* generator() {
yield 1;
yield new Promise(resolve => resolve(2));
yield 3;
}

const gen = generator();
console.log(gen.next().value);
gen.next().value.then(console.log);
console.log(gen.next().value);


Ответ: 1, 3, 2

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

async function asyncQuiz() {
console.log("Start");

const promise1 = new Promise((resolve) => {
setTimeout(() => resolve("Promise 1"), 1000);
});

const promise2 = new Promise((resolve) => {
setTimeout(() => resolve("Promise 2"), 500);
});

console.log(await promise1);
console.log(await promise2);

console.log("End");
}

asyncQuiz();


Ответ: Start, Promise 1, Promise 2, End

JavaScript test | ChatGPT | #JavaScript
Генерация случайных чисел

В примере мы используем Math.random() для получения случайной десятичной дроби между 0 и 1. Затем мы масштабируем и округляем эту дробь, чтобы получить случайное целое число в заданном диапазоне (включая минимальное и максимальное значение).

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

let obj1 = { key: 'value1' };
let obj2 = { key: 'value2' };

const map = new Map();
const weakMap = new WeakMap();

map.set(obj1, 'mapValue');
weakMap.set(obj2, 'weakMapValue');

obj1 = null; // Changing reference
obj2 = null; // Changing reference

console.log(map.has(obj1));
console.log(weakMap.has(obj2));


Ответ: false, false

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

const obj = { a: 1, b: 2 };
const key = 'c';
console.log(obj[key]);


Ответ: undefined

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

const words = ['apple', 'banana', 'cherry'];

const result = words.map(word => [...word].reduce((acc, char) => char + acc, ''));

console.log(result);


Ответ: ["alppa", "ananab", "yrrehc"]

JavaScript test | ChatGPT | #JavaScript
Работа с FileReader для чтения содержимого файлов на стороне клиента

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

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

function* genFunc() {
yield Symbol('A');
yield new Function('return this')();
}

const obj = { key: genFunc().next().value };
obj.key = genFunc().next().value;

console.log(obj.key === globalThis);


Ответ: false

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

const secret = 'hidden';
function revealSecret() {
const secret = 'revealed';
const obj = { secret: 'object secret' };
with (obj) {
return () => secret;
}
}

const mySecret = revealSecret()();
console.log(mySecret);


Ответ: object secret

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

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

let slicedArray = arr.slice(1, 4);
let splicedArray = arr.splice(2, 2);

console.log(slicedArray.length + splicedArray.length);


Ответ: 5

JavaScript test | ChatGPT | #JavaScript
Использование requestAnimationFrame для анимаций с высокой производительностью

requestAnimationFrame предоставляет механизм для создания анимаций с высокой производительностью, оптимизированных для кадров в секунду браузера.

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

const obj = {};
const sym1 = Symbol('a');
const sym2 = Symbol('b');

obj[sym1] = 1;
obj[sym2] = 2;

console.log(Object.keys(obj));


Ответ: []

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

const secretKey = Symbol('key');
const secretValue = 'secret';

function Store() {
this[secretKey] = secretValue;
}

Store.prototype.get = function(key) {
return this[key];
};

const store = new Store();
const revealed = store.get(secretKey);
console.log(revealed);


Ответ: secret

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

function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Data fetched successfully!');
}, 1000);
});
}

async function getResult() {
const result = await fetchData();
console.log(result);
}

getResult();


Ответ: "Data fetched successfully!"

JavaScript test | ChatGPT | #JavaScript
Работа с асинхронными запросами (AJAX)

Этот код выполняет асинхронный GET-запрос к серверу и обрабатывает ответ в формате JSON.

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

function asyncFunction(value) {
return new Promise(resolve => {
setTimeout(() => {
console.log(value);
resolve(value);
}, 1000);
});
}

(async () => {
const results = await Promise.all([asyncFunction(1), asyncFunction(2), asyncFunction(3)]);
console.log(results);
})();


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

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

function* gen() {
yield 1;
yield 2;
yield 3;
}

async function asyncFunc() {
for (let value of gen()) {
await new Promise(res => setTimeout(res, 100));
console.log(value);
}
return 'done';
}

const result = asyncFunc();
console.log(result instanceof Promise);


Ответ: true 1 2 3

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

console.log('Start');

setTimeout(() => console.log('Timeout'), 0);

Promise.resolve().then(() => console.log('Promise'));

function foo() {
console.log('Function call');
}

foo();

console.log('End');


Ответ: "Start" "Function call" "End" "Promise" "Timeout"

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

const data = [
{ id: 1, name: 'Alice', skills: ['JavaScript', 'HTML'] },
{ id: 2, name: 'Bob', skills: ['JavaScript', 'CSS'] },
{ id: 3, name: 'Charlie', skills: ['HTML', 'CSS'] },
];

const result = data.reduce((acc, person) => {
person.skills.forEach(skill => {
acc[skill] = acc[skill] ? acc[skill] + 1 : 1;
});
return acc;
}, {});

console.log(result);


Ответ: { JavaScript: 2, HTML: 2, CSS: 2 }

JavaScript test | ChatGPT | #JavaScript