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

Ссылка: @Portal_v_IT

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

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

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

function Car(make) {
this.make = make;
}

function Truck(make) {
this.make = make;
}

const car = new Car('Toyota');
const truck = new Truck('Toyota');
var newCar = car;

console.log(car.__proto__ === truck.__proto__);
console.log(car.constructor === truck.constructor);
console.log(car instanceof Truck);
console.log(truck instanceof Car);
console.log(Truck.prototype.isPrototypeOf(car));
console.log(Car.prototype.isPrototypeOf(truck));
console.log(truck === car);
console.log(newCar === car);


Ответ: false
false
false
false
false
false
false
true


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

function processUserData(data) {
const settings = {
theme: data.preferences?.theme ?? 'light',
notifications: data.preferences?.notifications ?? true,
fontSize: data.preferences?.fontSize ?? 16
};

let status = data.status ?? 'active';
let reputation = data.reputation ?? 0;

console.log(reputation || 'No reputation yet');
return settings;
}

processUserData({ status: '', reputation: 0 });


Ответ: No reputation yet

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

const value = { number: 100 };
function increment(obj) {
obj.number++;
}
increment(value);
console.log(value.number);


Ответ: 101

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

type User = {
id: number;
name: string;
email?: string;
};

function processUser<T extends User>(user: T): T & { processed: boolean } {
return { ...user, processed: true };
}

const partialUser = { id: 1, name: 'Alice' };
const result = processUser(partialUser);

console.log(typeof result.email);


Ответ: undefined

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

var a=[1], b=1, c="1", d={1:1}
console.log(Array.isArray(a));
console.log(Array.isArray(b));
console.log(Array.isArray(c));
console.log(Array.isArray([d]));
console.log(Array.isArray([]));


Ответ: true
false
false
true
true


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

const num1 = 9007199254740992n;
const num2 = 1n;

const result1 = num1 + num2;
const result2 = Number(num1) + Number(num2);
const result3 = num1 + BigInt(1);
const result4 = String(num1) + String(num2);

console.log(typeof result2 === typeof result1, result1 === result3, result4);


Ответ: false true "90071992547409921"

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

const arr = [1, 5, 10, 15];
console.log(arr.fill(0, 2, 0, 2, 0, 2, 1));


Ответ: [ 1, 5, 10, 15 ]

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

function createSymbolDemo() {
const obj = {};

const sym1 = Symbol('description');
const sym2 = Symbol('description');
const sym3 = Symbol.for('shared');
const sym4 = Symbol.for('shared');

obj[sym1] = 'Value 1';
obj[sym2] = 'Value 2';
obj[sym3] = 'Value 3';
obj[sym4] = 'Value 4';

console.log(Object.keys(obj).length, sym1 === sym2, sym3 === sym4, obj[sym3]);
}

createSymbolDemo();


Ответ: 4 true true Value 4

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

const obj = {
value: 011,
increment() {
this.value++;
}
};

const increment = obj.increment;
increment();

console.log(obj.value);


Ответ: 9

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

function* generateSequence() {
let i = 1;
while (i <= 3) {
yield i++;
}
}

function* extendSequence() {
yield* generateSequence();
yield* [4, 5];
yield 6;
}

const generator = extendSequence();
const result = [];

for (const value of generator) {
if (value % 2 === 0) {
result.push(value * 2);
} else {
result.push(value);
}
}

console.log(result);

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

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

console.log(typeof Object);
console.log(typeof Object());
console.log(typeof 'Object');
console.log(typeof new Object);

Ответ: 'function'
'object'
'string'
'object'


JavaScript test | #JavaScript
Forwarded from The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16!

Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:

1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.

Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
❗️Что будет на выходе?

const arr = [];
arr.length = 3;
arr[10] = 7;
arr.forEach((el, i) => console.log(i))

Ответ: 3
7
10


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

const privateData = new WeakMap();

function Person(name) {
privateData.set(this, { name, secretCount: 0 });

this.greet = function() {
const data = privateData.get(this);
data.secretCount++;
return `Hello, my name is ${data.name}`;
};

this.getSecretCount = function() {
return privateData.get(this).secretCount;
};
}

const alice = new Person('Alice');
alice.greet();
alice.greet();

const result = [
privateData.has(alice),
alice.name,
alice.getSecretCount()
];

console.log(result);

Ответ: [true, undefined, 2]

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

const array = [1, 2, 3, 4, 5];
const result = array.map(function(n) {
return this ? n : 1 * 2 + 3;
}, false);

console.log([...result, ...result]);

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

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

const user = {
name: 'Alice',
age: 30
};

const handler = {
get(target, prop) {
if (prop in target) {
return target[prop];
}
return `Property '${prop}' doesn't exist`;
},
set(target, prop, value) {
if (prop === 'age' && typeof value !== 'number') {
console.log('Age must be a number');
return false;
}
target[prop] = value;
return true;
}
};

const proxy = new Proxy(user, handler);
proxy.age = '32';
proxy.age = 32;
console.log(proxy.job);

Ответ: Age must be a number Property 'job' doesn't exist

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

const matrix = [
[2, 4],
[6, 8],
[10, 12],
];

const result = matrix.reduceRight((acc, row) => row.map(num => num * 2));

console.log(result);

Ответ: [ 4, 8 ]

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

function executePromises() {
console.log(1);

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

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

console.log(6);
}

executePromises();

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

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

const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, , ],
];

let flattenedMatrix = [];

for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
flattenedMatrix.push(matrix[i][j]);
}
}

console.log(flattenedMatrix);

Ответ: 11
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, undefined ]


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

const clothes = ['shirt', 'socks', 'jacket', 'pants', 'hat']
clothes.length = 0

console.log(clothes)

Ответ: 0
[]


JavaScript test | #JavaScript
🧐 Ты когда-нибудь задумывался:
- Почему одни люди годами работают за 50 000 ₽, а другие через 2-3 месяца учёбы получают офферы на 150 000+?
- Как некоторые выходят на фриланс и выбирают проекты, а не ждут, пока их наймут?
- Почему в IT даже новички могут позволить себе переезд в другую страну или ипотеку со льготной ставкой?

Ответ прост: они выбрали правильное направление с самого начала.

SkillFactory знает, как это сделать. Не гадайте на кофейной гуще — пройдите точный тест из 18 вопросов, который уже помог 10 000+ человек:
☑️ 5 минут — и алгоритм покажет, какая IT- или дизайн-специальность подходит именно вам.
☑️ Бесплатно — сразу после теста: карьерный гайд + разбор ваших сильных сторон.
☑️ Без воды — только актуальные профессии 2025 года с реальными зарплатами.

👉 "Но разве можно выбрать профессию за 5 минут?"
Можно, если вопросов ровно столько, чтобы отсечь всё лишнее. Попробуйте — ссылка на тест.

Реклама. Информация о рекламодателе по ссылкам в посте.