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
Что будет на выходе?

const a = { x: 1 };
a.__proto__.x = 2;
const b {};

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


Ответ: 1,2

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

true + false + true - false


Ответ: 2

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

for (var i = 4; i <= 10; i++) {}
console.log(i);


Ответ: 11

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

function test() {
console.log(arguments.length);
}

test(1, 2, 3);
test.call(null, 1, 2, 3);


Ответ: 3, 3

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

const obj = { a: 1, b: 2 };
const descriptor = Object.getOwnPropertyDescriptor(obj, 'a');

descriptor.value = 3;
Object.defineProperty(obj, 'a', descriptor);

console.log(obj.a);


Ответ: 3

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

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

console.log(result);


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

JavaScript test | ChatGPT | #JavaScript
Перебор свойств

Мы можем перебрать все свойства объекта и получить их ключи и значения.

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

function* generator() {
yield* [1, 2];
yield* (function* () { yield 3; yield 4; })();
}

const gen = generator();

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


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

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

function* range(n) {
if (n <= 0) return n;

let i = 0;
while(i !== n) {
yield i++;
}
}

let seq = range(2);

for (const i of seq) {
console.log("loop1", i);
}

for (const i of seq) {
console.log("loop2", i);
}


Ответ: loop1 0, loop1 1

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

const obj = {
a: 1,
b() {
return this.a + 1;
}
};

const { b } = obj;
console.log(b());


Ответ: NaN

JavaScript test | ChatGPT | #JavaScript
Деструктуризация объекта

Мы можем извлечь свойства объекта с помощью деструктуризации.

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

const a = [1, 2, 3, 4];
console.log(a + "");


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

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

const a = document.createElement("a");
a.id = "test1";
a.href = "test2";
document.body.appendChild(a);
console.log(window.test1);


Ответ: http://.../test2

JavaScript test | ChatGPT | #JavaScript
Объекты как аргументы функций

Мы можем передавать объекты как аргументы функций для удобной работы с данными.

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

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

obj.b = 4;
console.log(obj.b);


Ответ: 3

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

const base = { x: 1 };
const obj = Object.freeze(base);

base.y = 2;
console.log(base.y);


Ответ: undefined

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

const a = { value: 1 };
const b = Object.create(a);
b.value = 2;

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


Ответ: 2, 1

JavaScript test | ChatGPT | #JavaScript
Проверка наличия свойства

Оператор in позволяет проверить наличие определенного свойства в объекте перед его использованием.

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

function a() {
console.log(arguments[0]);
}

a([1]);


Ответ: [1]

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

let count = 0;

const counter = (function() {
count = 0;
return function() {
count += 1;
return count;
};
})();

count = 10;
counter();
console.log(count);

Ответ: 11

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

let obj1 = { x: 1, y: { z: 2 }};
let obj2 = { ...obj1 };
obj2.x = 2;
obj2.y.z = 3;

console.log(obj1.x, obj1.y.z);

Ответ: 1, 3

JavaScript test | ChatGPT | #JavaScript