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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3KHeYk
Download Telegram
❗️Что будет на выходе:
const obj = { x: 1, y: 2 };
let {x: a, y: b } = obj;
a = 2;
console.log(a, obj.y);

Ответ:
2 2

JavaScript test | #JavaScript
❗️Что будет на выходе:
const company = {
name: 'TechCorp',
departments: {
engineering: {
head: { name: 'Alice', contact: null },
staff: 50
},
marketing: null
}
};

const engineeringContact = company.departments.engineering.head.contact;
const marketingHead = company.departments.marketing?.head?.name;
const financeStaff = company?.departments?.finance?.staff ?? 'Not available';

console.log(`${engineeringContact} - ${marketingHead} - ${financeStaff}`);

Ответ:
null - undefined -Not available

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = Object.freeze({
a: [1, 2, 3],
b: {
c: 4
}
});

obj.a.push(obj.b);
obj.b.c = 5;

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

Ответ:
[ 1, 2, 3, { c: 5 } ]
undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
function A() {}
function B() {}

A.prototype = B.prototype = {};

let a = new A();
let b = new B();

console.log( b instanceof A );

Ответ:
true

JavaScript test | #JavaScript
❗️Что будет на выходе:
var a = 1;

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

arrowQuiz();
var a = 2;
arrowQuiz();

Ответ:
1
2

JavaScript test | #JavaScript
❗️Что будет на выходе:
const userMap = new WeakMap();

const user1 = { name: 'Alice' };
const user2 = { name: 'Bob' };

userMap.set(user1, { visits: 10 });
userMap.set(user2, { visits: 5 });

// Later in the code...
const entries = [];
for (const obj of [user1, null, user2]) {
if (obj !== null && userMap.has(obj)) {
entries.push(userMap.get(obj).visits);
}
}

console.log(entries.reduce((sum, visits) => sum + visits, 0));

Ответ:
15

JavaScript test | #JavaScript
❗️Что будет на выходе:
let x = 7;
function addSeven(num) {
return num + 7;
}
x = (++x, x = addSeven(x), x *= 2, x += 5, x += 10);
console.log(x);

Ответ:
45

JavaScript test | #JavaScript
❗️Что будет на выходе:
const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve(3), 1000);
});

promise
.then(result => {
console.log(result);
return result * 3;
})
.then(result => {
console.log(result);
return new Promise(resolve => setTimeout(() => resolve(result * 3), 1000));
})
.then(result => {
console.log(result);
});

Ответ:
3
9
27

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

function inner() {
console.log(x);

if(true) {
let x = 20;
console.log(x);
}

console.log(x);
}

inner();
}

outer();

Ответ:
10 20 10

JavaScript test | #JavaScript
❗️Что будет на выходе:
const ws = new WeakSet();
const obj1 = { id: 1 };
const obj2 = { id: 2 };

ws.add(obj1);
ws.add(obj2);
ws.delete(obj1);

const obj3 = { id: 2 };

console.log([
ws.has(obj2),
ws.has(obj1),
ws.has(obj3),
ws.has({ id: 2 })
]);

Ответ:
[true, false, false, false]

JavaScript test | #JavaScript
❗️Что будет на выходе:
const nums = [1, 2, 3, 4];
const res = nums.reduce((acc, val) => acc + val, 2);
console.log(typeof res);

Ответ:
number

JavaScript test | #JavaScript
Тестирование: быстрый старт в IT за 0₽

Зарплата начинающего Тестировщика от 80 000₽. Он проверяет работу сайтов, мобильных приложений и ищет в них ошибки. От тестировщика во многом зависит качество итогового продукта, поэтому спрос на данных специалистов растёт.

Прямо сейчас Skillbox отдает пятидневный курс по тестированию бесплатно.

Переходите по ссылке и участвуйте в тест-драйве профессии. Акция продлится до 19 марта: https://go.redav.online/3ce9ac7270bf9c50?erid=2VfnxxcSezk&m=1
❗️Что будет на выходе:
class Task {
constructor(name) {
this.name = name;
}
async execute() {
const result = await Promise.resolve(this.name);
return { result };
}
}

const task = new Task('test');
task.execute().then(console.log);

Ответ:
{ result: 'test' }

JavaScript test | #JavaScript
❗️Что будет на выходе:
var arr=[1,2,3,4,5];
console.log(arr.toString());
console.log(arr+"");
console.log(arr + arr);

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

JavaScript test | #JavaScript
❗️Что будет на выходе:
const users = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 30 },
{ id: 3, name: 'Charlie', age: 35 }
];

const result = users
.filter(user => user.age > 25)
.map(user => user.name.toUpperCase())
.reduce((acc, name) => acc + name[0], '');

console.log(result);

Ответ:
BC

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj1 = { a: 1 };
const obj2 = Object.create(obj1);
obj2.b = 2;

const result = 'b' in obj2;

console.log(result);

Ответ:
true

JavaScript test | #JavaScript
❗️Что будет на выходе:
var a = 1;
function b() {
a = 10;
return;
function a () {}
}
a = b();
console.log(a);

Ответ:
undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
async function getData() {
return Promise.resolve(1);
}

async function process() {
try {
const x = await getData();
const y = await Promise.resolve(x + 1);
console.log(y + await Promise.resolve(1));
} catch(err) {
console.log('Error');
}
}

process();

Ответ:
3

JavaScript test | #JavaScript
❗️Что будет на выходе:
let person = {
name: 'Leonardo'
};

Object.freeze(person);
person.name = 'Lima';

console.log(person.name);

Ответ:
'Leonardo'

JavaScript test | #JavaScript
❗️Что будет на выходе:
const cache = new WeakMap();
const obj1 = { id: 1 };
const obj2 = { id: 2 };

cache.set(obj1, 'data1');
cache.set(obj2, 'data2');

obj2.newProp = 'test';

console.log(cache.has(obj1), cache.has(obj2), cache.has({ id: 1 }));

Ответ:
true, true, false

JavaScript test | #JavaScript
❗️Что будет на выходе:
const fetchData = async (id) => {
return new Promise((resolve) => {
setTimeout(() => resolve(`Data for ID ${id}`), 100);
});
};

const ids = [1, 2, 3];

async function complexAsyncFetch(ids) {
const result = await ids.reduce(async (acc, id) => {
const data = await fetchData(id);
const currentResult = await acc;
currentResult.push(data);
return currentResult;
}, Promise.resolve([]));

console.log(result);
}

complexAsyncFetch(ids);


Ответ: ['Data for ID 1', 'Data for ID 2', 'Data for ID 3']

JavaScript test | #JavaScript