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

Ссылка: @Portal_v_IT

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

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

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

const arrowQuiz = () => {
console.log(this.a);
};

arrowQuiz();
var a = 2;


Ответ: 1

JavaScript test | #JavaScript
❗️Что будет на выходе:
function createCounter() {
let count = 0;

function increment() {
count += 1;
return count;
}

function decrement() {
count -= 1;
return count;
}

return { increment, decrement, value: () => count };
}

const counter = createCounter();
counter.increment();
counter.increment();
counter.decrement();

console.log(counter.value() + counter.increment());


Ответ: 3

JavaScript test | #JavaScript
❗️Что будет на выходе:
const a = [1, 2, 3];
const b = a.slice(0, 2).push(4);
console.log(b);


Ответ: 3

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = { length: 3 };
console.log(Object.keys(obj).length);


Ответ: 1

JavaScript test | #JavaScript
❗️Что будет на выходе:
const memoryLeak = () => {
const cache = new Map();
const weakCache = new WeakMap();

const objKey = { id: 123 };
const data = { name: 'User data', value: 42 };

cache.set(objKey, data);
weakCache.set(objKey, data);

// Simulate removing reference to key
const result = { map: cache.has(objKey), weakMap: weakCache.has(objKey) };
// objKey = null; // This would be an error, as const can't be reassigned

return result;
};

console.log(memoryLeak());


Ответ: { map: true, weakMap: true }

JavaScript test | #JavaScript
❗️Что будет на выходе:
for (var i =0; i < 10; i++){
setTimeout(function (){
console.log(i);
}, 0);
}


Ответ: 10 10 10 10 10 10 10 10 10 10

JavaScript test | #JavaScript
❗️Что будет на выходе:
function createCounter() {
let count = 0;

return {
increment() {
return ++count;
},
reset() {
const oldCount = count;
count = 0;
return oldCount;
}
};
}

const counterA = createCounter();
const counterB = createCounter();

counterA.increment();
counterA.increment();
counterB.increment();
const result = counterA.reset() + counterB.reset();
console.log(result);


Ответ: 3

JavaScript test | #JavaScript
❗️Что будет на выходе:
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
❗️Что будет на выходе:
const users = [
{ id: 1, name: 'Sarah' },
{ id: 2, name: 'Miguel' },
{ id: 3, name: 'Jordan' }
];

const activeUsers = new WeakSet();
activeUsers.add(users[0]);
activeUsers.add(users[2]);

users.splice(1, 1); // Remove Miguel

let count = 0;
for (const user of users) {
if (activeUsers.has(user)) count++;
}

console.log(count);

Ответ: 2

JavaScript test | #JavaScript
❗️Что будет на выходе:
function* infiniteGenerator() {
let i = 0;
while (true) {
yield i++;
}
}

const weakMap = new WeakMap();
const gen = infiniteGenerator();

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

const result = weakMap.get(gen) + gen.next().value;

console.log(result);

Ответ: 1

JavaScript test | #JavaScript
❗️Что будет на выходе:
function mystery() {
try {
console.log('A');
throw new Error('Oops');
console.log('B');
} catch (err) {
console.log('C');
return 'D';
} finally {
console.log('E');
return 'F';
}
console.log('G');
return 'H';
}

console.log(mystery());

Ответ: A C E F

JavaScript test | #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 | #JavaScript
❗️Что будет на выходе:
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);

const addTwo = num => num + 2;
const multiplyByThree = num => num * 3;
const subtractTen = num => num - 10;

const calculate = compose(subtractTen, multiplyByThree, addTwo);

console.log(calculate(5));

Ответ: 11

JavaScript test | #JavaScript
❗️Что будет на выходе:
function* generator() {
yield* [1, 2];
yield* (function* () { yield 3; yield 4; })();
}

const gen = generator();

console.log([...gen]);


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

JavaScript test | #JavaScript
❗️Что будет на выходе:
const a = { x: 1 };
a.__proto__.x = 2;
const b {};

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


Ответ: 1,2

JavaScript test | #JavaScript
❗️Что будет на выходе:
function Vehicle(wheels) {
this.wheels = wheels;
}

Vehicle.prototype.getWheels = function() {
return this.wheels;
};

function Car() {
Vehicle.call(this, 4);
this.doors = 4;
}

Car.prototype = Object.create(Vehicle.prototype);
Car.prototype.constructor = Car;

const myCar = new Car();
console.log(myCar.getWheels(), myCar instanceof Vehicle);


Ответ: 4 true

JavaScript test | #JavaScript
❗️Что будет на выходе:
console.log(typeof Object);
console.log(typeof Object());

Ответ: function, object

JavaScript test | #JavaScript
❗️Что будет на выходе:
const array = [1, 2, [3, 4, [5, 6]]];
const result = array.flat(2).map(n => n * 2);

console.log(result);


Ответ: 2, 4, 6, 8, 10, 12

JavaScript test | #JavaScript
❗️Что будет на выходе:
function getOrder() {
console.log('1');

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

Promise.resolve().then(() => {
console.log('3');
Promise.resolve().then(() => console.log('4'));
});

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

console.log('6');
}

getOrder();


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

JavaScript test | #JavaScript
Готовый код за 4 часа или за 4 минуты?
Решать тебе. Но рынок всё равно поставит на тех, кто кодит с нейросетями.


Большинство айтишников тратят время на шаблонный код, типовые решения и бесконечные правки — вместо того, чтобы сосредоточиться на логике продукта.

На бесплатном эфире с СЕО университета Зерокодер покажет, как применять Cursor для ускорения разработки — от быстрого написания кода до автоматизации рутинных задач программиста.

Что ждет вас на вебинаре?

– Разберём, что такое вайб-кодинг и как Cursor уже меняет правила игры на IT-рынке;
– Пошагово покажем, как программировать в Cursor, не написав ни единой строки кода вручную;
– Создадим готовый проект с нуля своими руками;
– Расскажем, где и как правильно применять эти знания в 2025 году.

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

Один из самых свежих и бесплатных эфиров лета 2025 года ждет вас по ссылке.