JavaScript test
9.74K subscribers
3.07K photos
13 videos
4.71K links
Проверка своих знаний по языку JavaScript.

Ссылка: @Portal_v_IT

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

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

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

const obj = { a: 1, b: { c: 2 } };
const frozen = Object.freeze(obj);
frozen.a = 99;
frozen.b.c = 88;
frozen.d = 77;

const sealed = Object.seal({ x: 10, y: 20 });
sealed.x = 30;
sealed.z = 40;
delete sealed.y;

console.log(obj.a, obj.b.c, obj.d);
console.log(sealed.x, sealed.y, sealed.z);

Ответ: 1 88 undefined, 30 20 undefined

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

class Rectangle {
constructor(width, height) {
this.width = width;
this.height = height;
}

get area() {
return this.width * this.height;
}
}

const rectangle = new Rectangle(5, 10);
console.log(rectangle.area());

Ответ: TypeError: rectangle, area is not a function at line 13

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

const promise1 = Promise.resolve(10);
const promise2 = promise1.then(x => x * 2);
const promise3 = promise2.then(x => {
console.log(x);
return x + 5;
});
const promise4 = promise2.then(x => {
console.log(x);
return x * 3;
});
Promise.all([promise3, promise4]).then(results => {
console.log(results);
});

Ответ: 20 20 [25, 60]

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

try {
try {
// Creating a custom error type
class CustomError extends Error {
constructor(message) {
super(message);
this.name = "CustomError";
}
}

const fn = () => {
throw new CustomError("Something went wrong");
};

try {
fn();
} catch (e) {
throw new TypeError("Type error occurred");
}
} catch (e) {
console.log(e instanceof Error, e.name, e instanceof TypeError);
}
} catch (e) {
console.log("Outer catch", e.message);
}

Ответ: true 'TypeError' true

JavaScript test | #JavaScript & Max
📣 Мышка вертикальная беспроводная

Цена: ~1900₽
Рейтинг: 4.8😀
Отзывов: 3.552 💬

🖱 Заказать

Вертикальная беспроводная мышь с поддержкой Bluetooth 5.2, Bluetooth 3.0 и 2.4 ГГц. Эргономичная форма помогает снизить нагрузку на кисть во время долгой работы за компьютером, а возможность подключения к нескольким устройствам удобна для тех, кто переключается между рабочим ноутбуком, домашним ПК и планшетом.

#мышь #вертикальная

Больше товаров
- Находки Программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

async function processValues() {
try {
console.log('Start');
const a = await Promise.resolve('First');
console.log(a);
const b = await Promise.reject('Error');
console.log(b);
return 'Done';
} catch (err) {
console.log(err);
return 'Recovered';
} finally {
console.log('Finally');
}
}

processValues().then(result => console.log(result));

Ответ: Start First Error Finally Recovered


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

const obj = { a: 1, b: { c: 2 } };
const frozen = Object.freeze(obj);
frozen.a = 99;
frozen.b.c = 88;
frozen.d = 77;

const sealed = Object.seal({ x: 10, y: 20 });
sealed.x = 30;
sealed.z = 40;
delete sealed.y;

console.log(obj.a, obj.b.c, obj.d);
console.log(sealed.x, sealed.y, sealed.z);

Ответ: 1 88 undefined, 30 20 undefined

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

function mystery() {
try {
throw new Error('Oops');
return 'A';
} catch (err) {
return 'B';
} finally {
return 'C';
}
}

function wrapper() {
try {
return mystery();
} finally {
console.log('D');
}
}

console.log(wrapper());

Ответ: D C

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

class EventEmitter {
constructor() {
this.events = {};
}

on(event, callback) {
this.events[event] = this.events[event] || [];
this.events[event].push(callback);
return this;
}

emit(event, data) {
if (this.events[event]) {
this.events[event].forEach(cb => cb(data));
}
return this;
}
}

const emitter = new EventEmitter();
emitter.on('test', x => console.log(x * 2))
.on('test', x => console.log(x + 5))
.emit('test', 10);

Ответ: 20 15

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

async function processValues() {
try {
console.log('Start');
const a = await Promise.resolve('First');
console.log(a);
const b = await Promise.reject('Error');
console.log(b);
return 'Done';
} catch (err) {
console.log(err);
return 'Recovered';
} finally {
console.log('Finally');
}
}

processValues().then(result => console.log(result));

Ответ: Start First Error Finally Recovered


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

const obj = {
x: 10,
foo() {
setTimeout(function() {
console.log(this.x);
}, 1000);
}
};
obj.foo();

Ответ: undefined


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

function Person(name) {
this.name = name;
this.sayName = () => console.log(this.name);
}

const person1 = new Person('David');
const person2 = { name: 'Not David', sayName: person1.sayName };

person2.sayName();

Ответ: David


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

const promise1 = Promise.resolve(10);
const promise2 = promise1.then(x => x * 2);
const promise3 = promise2.then(x => {
console.log(x);
return x + 5;
});
const promise4 = promise2.then(x => {
console.log(x);
return x * 3;
});
Promise.all([promise3, promise4]).then(results => {
console.log(results);
});

Ответ: 20 20 [25, 60]

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

const obj = { a: 1, b: 2, c: 3 };
Object.defineProperty(obj, 'd', {
value: 4,
enumerable: false
});

const entries = Object.entries(obj);
const keys = Object.keys(obj);
const values = Object.values(obj);

console.log(entries.length + keys.length + values.length);

Ответ: 9

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

console.log(1);

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

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

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

console.log(6);

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

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

const target = { name: 'Maya', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop];
}
return `Property '${prop}' not found`;
},
set(obj, prop, value) {
if (typeof value === 'string') {
obj[prop] = value.toUpperCase();
} else {
obj[prop] = value;
}
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.city = 'tokyo';
console.log(proxy.name);
console.log(proxy.city);
console.log(proxy.country);

Ответ: Maya TOKYO Property 'country' not found


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

function Vehicle(type) {
this.type = type;
}

Vehicle.prototype.wheels = 4;
Vehicle.prototype.getInfo = function() {
return `${this.type}: ${this.wheels}`;
};

const car = new Vehicle('Car');
const bike = Object.create(car);
bike.type = 'Bike';
bike.wheels = 2;

console.log(car.getInfo() + ' | ' + bike.getInfo());

Ответ: Car: 4 | Bike: 2

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

const x = null;
const y = undefined;
const z = 0;

const result1 = x ?? 'default';
const result2 = y ?? 'default';
const result3 = z ?? 'default';

const combined = result1 ? result2 ? result3 : 'B' : 'C';

console.log(combined);

Ответ: 0

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

console.log(typeof null);
console.log(typeof undefined);
console.log(typeof {});
console.log(typeof []);

Ответ: object, undefined, object, object

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

async function processValues() {
try {
console.log('Start');
const a = await Promise.resolve('First');
console.log(a);
const b = await Promise.reject('Error');
console.log(b);
return 'Done';
} catch (err) {
console.log(err);
return 'Recovered';
} finally {
console.log('Finally');
}
}

processValues().then(result => console.log(result));

Ответ: Start First Error Finally Recovered


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

const clothes = [ 'jacket', 't-shirt' ];
clothes.length = 0;
console.log(clothes[0]);

Ответ: undefined

JavaScript test | #JavaScript & Max