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 tag(strings, ...values) {
return strings[0] + values[0] * 2 + strings[1] + values[1] + strings[2];
}

const num1 = 5;
const num2 = 10;

const result = tag`Double ${num1} and add ${num2}!`;

console.log(result);

Ответ: Double 10 and add 10!

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

function tag(strings, ...values) {
return strings.reduce((acc, str, i) => {
return acc + str + (values[i] ? values[i].toUpperCase() : '');
}, '');
}

const first = "hello";
const second = "world";

const result = tag`${first} and ${second} are great!`;

console.log(result);

Ответ: HELLO and WORLD are great!

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

let funcs = [];

for (var i = 0; i < 3; i++) {
funcs.push(() => i);
}

console.log(funcs[0]());
console.log(funcs[1]());
console.log(funcs[2]());

Ответ: 3, 3, 3

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

var a = 5;
function test() {
console.log(a);
var a = 10;
console.log(a);
}

test();

Ответ: undefined 10

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

const original = Object.freeze({ a: [1, 2, 3] });
const copy = { ...original };

copy.a.push(4);

console.log(original.a);
console.log(copy.a);

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

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

const promise = new Promise((resolve) => {
console.log('Promise started');
setTimeout(() => {
resolve('Promise resolved');
}, 100);
});

promise.then((result) => {
console.log(result);
});

console.log('End of script');

Ответ: Promise started, End of script, Promise resolved

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

const obj = {
value: 100,
method: function() {
const inner = function() {
console.log(this.value);
};
inner();
}
};

obj.method();

Ответ: undefined

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

function* generatorFunction() {
yield 1;
yield* function* () {
yield 2;
yield 3;
}();
yield 4;
}

const gen = generatorFunction();
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);

Ответ: 1, 2, 3, 4, undefined

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

const arr = [1, 2, 3];
const newArr = arr.map(num => num * 2);

newArr.push(4);
arr[0] = 0;

console.log(arr);
console.log(newArr);

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

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

async function fetchData() {
console.log('Fetching...');
await new Promise((resolve) => {
setTimeout(() => {
console.log('Data fetched');
resolve();
}, 100);
});
console.log('Process completed');
}

fetchData();
console.log('End of script');

Ответ: Fetching...., End of script, Data fetched, Process completed

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

console.log(1);
setTimeout(() => console.log(2), 0);
Promise.resolve()
.then(() => {
console.log(3);
return Promise.resolve(4);
})
.then(console.log);
console.log(5);

Ответ: 1, 5, 3, 4, 2

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

console.log('A');
setTimeout(() => console.log('B'), 0);
Promise.resolve().then(() => console.log('C'));
console.log('D');

Ответ: A, D, C, B

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

setTimeout(() => {
console.log('setTimeout 1');
Promise.resolve().then(() => console.log('Promise 1'));
}, 0);

Promise.resolve().then(() => {
console.log('Promise 2');
setTimeout(() => console.log('setTimeout 2'), 0);
});

console.log('Sync');

Ответ: Sync, Promise 2, setTimeout 1, Promise 1, setTimeout 2

JavaScript test | #JavaScript
Геймдизайнер – это просто! Бесплатный старт для успешной карьеры в играх.

Профессия геймдизайнера — увлекательная, востребованная и высокооплачиваемая специальность, где можно раскрыть свою творческую и инженерную стороны. Работа в этой сфере дает возможность создавать уникальные миры. И перспективу участия в разработке культовых игр, работая из дома.

На бесплатном мини-курсе от Skillbox вы освоите ключевой навык геймдизайнера — декомпозицию механик игры, поймете, какие навыки помогают создавать хиты гейм-индустрии, и узнаете почему заработная плата геймдизайнера начинается от 100 тыс.руб.

Пройдите мини-курс — и получите в подарок список конструкторов игр.
Что будет на выходе?

async function asyncFunc() {
console.log('Async Start');
await new Promise(resolve => setTimeout(resolve, 100));
console.log('Async End');
}

console.log('Script Start');
asyncFunc();
setTimeout(() => console.log('Timeout 1'), 50);
setTimeout(() => console.log('Timeout 2'), 150);
console.log('Script End');

Ответ: Script Start, Async Start, Script End, Timeout 1, Async End, Timeout 2

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

setTimeout(() => {
console.log('Timeout');
Promise.resolve().then(() => console.log('Promise after Timeout'));
}, 0);

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

console.log('End of script');

Ответ: End of script, Promise, Timeout, Promise afterTimeout

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

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

setTimeout(() => {
console.log('Timeout 2');
Promise.resolve().then(() => console.log('Promise in Timeout 2'));
}, 50);

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

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

console.log('Sync');

Ответ: Sync, Promise 1, Timeout 2, Promise in Timeout 2, Timeout 1, Timeout 3

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

async function first() {
console.log('First Start');
await second();
console.log('First End');
}

async function second() {
console.log('Second Start');
}

console.log('Script Start');
first();
setTimeout(() => console.log('Timeout'), 0);
console.log('Script End');

Ответ: Script Start, First Start, Second Start, Script End, First End, Timeout

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

const obj = Object.freeze({
name: "Alice",
info: {
age: 25
}
});

try {
obj.name = "Bob";
obj.info.age = 30;
} catch (e) {
console.log("Error:", e.message);
}

console.log(obj.name, obj.info.age);

Ответ: Alice 30

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

function* numberGenerator() {
let i = 0;
while (i < 3) {
yield i++;
}
}

const gen = numberGenerator();
console.log(gen.next().value);
console.log(gen.return(10).value);
console.log(gen.next().value);

Ответ: 0 10 undefined

JavaScript test | #JavaScript
Пройдите бесплатный курс за 1,5 часа и начните зарабатывать от 150 000₽ в IT уже в этом году!

Всего за полтора часа вы попробуете 5 востребованных IT-специальностей и выберете то, что подходит именно вам. Этот курс разработан экспертами отрасли и поможет вам уверенно начать свой путь в новую высокооплачиваемую профессию.

На курсе вы пройдете интерактивные задания и изучите реальные кейсы. Узнаете, как начать карьеру в IT без опыта и с минимальными рисками.

Попробуйте 5 IT-направлений и станьте востребованным специалистом по ссылке!