JavaScript test
10.2K 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 weakMap = new WeakMap();
const array = [1, 2, 3];
const obj = {};

weakMap.set(obj, array);

const result = weakMap.get(obj).reduce((acc, val) => acc + val);

console.log(result);

Ответ: 6

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

function trickyScope() {
var x = 10;
if (true) {
let x = 5;
console.log(x);
}
console.log(x);
}

trickyScope();


Ответ: 5 10

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

const string = "JavaScript test";
const result = string.replace(/l/g, "");
console.log(result);


Ответ: JavaScript test

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.b.c);

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

JavaScript test | #JavaScript
Что будет на выходе?
const obj = {};
let value = 0;

Object.defineProperty(obj, 'prop', {
get() {
return value;
},
set(newValue) {
value = newValue + 1;
},
configurable: true,
enumerable: true
});

obj.prop = 10;
console.log(obj.prop);


Ответ: 256

JavaScript test | #JavaScript
Что будет на выходе?
function trickyScope() {
var a = 10;
let b = 20;
const c = 30;

if (true) {
var a = 40;
let b = 50;
const c = 60;
console.log(a, b, c);
}

console.log(a, b, c);
}

trickyScope();


Ответ: 40 50 60 40 20 30

JavaScript test | #JavaScript
Что будет на выходе?
function trickyFunction(num) {  
let result = 0;
for (let i = 0; i < num; i++) {
result += i;
if (i % 2 === 0) {
result *= 2;
} else {
result -= 1;
}
}
return result;
}
console.log(trickyFunction(4));


Ответ: 6

JavaScript test | #JavaScript
Что будет на выходе?
class School {
constructor() {
this.value = 255;
}
}

console.log(School);

Ответ: [class School]

JavaScript test | #JavaScript
❗️Что будет на выходе:
console.log(16);
setTimeout(() => console.log(20), 0);
Promise.resolve()
.then(() => {
console.log(18);
return Promise.resolve(19);
})
.then(console.log);
console.log(17);

Ответ: 16
17
18
19
20

JavaScript test | #JavaScript
❗️Что будет на выходе:
function trickyScope() {
let x = 10;
if (true) {
let x = 20;
console.log(x); // A
}
console.log(x); // B
{
let x = 30;
console.log(x); // C
}
console.log(x); // D
}

trickyScope();

Ответ: 20 10 30 10

JavaScript test | #JavaScript
❗️Что будет на выходе:
const string = "abc";
const digit = "16";
const arr = [...string, ...digit];
console.log(arr);

Ответ: [ 'a', 'b', 'c', '1', '6' ]

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = {
a: 10,
b: 20
};

with (obj) {
var result = a + b;
}

console.log(result - obj.a == obj.b);

Ответ: true

JavaScript test | #JavaScript
❗️Что будет на выходе:
function trickyQuestion() {
var a = 1;
var b = 2;

return (function() {
delete a;
delete b;
return a + b;
})();
}

console.log(trickyQuestion());

Ответ: 3

JavaScript test | #JavaScript
❗️Что будет на выходе:
const arr = [1, 2, 3];
arr[-1] = 10;
console.log(arr.length, arr[-1], arr[2], arr[-2]);

Ответ: 3 10 3 undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
let a = 5; // binary: 0101
let b = 3; // binary: 0011
let c = a & b; // binary: 0001
let d = a | b; // binary: 0111
let e = a ^ b; // binary: 0110

console.log(c, d, e);

Ответ: 1 7 6

JavaScript test | #JavaScript
❗️Что будет на выходе:
const weakMap = new WeakMap();
const array = [1, 2, 3];
const obj = {};

weakMap.set(obj, array);

const result = weakMap.get(obj).map((acc, val) => acc + val);

console.log(result);

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

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

copy.a.push([...copy.a, ...original.a]);

console.log(original.a);
console.log(copy.a);

Ответ: [ 1, 2, 3, [ 1, 2, 3, 1, 2, 3 ] ]
[ 1, 2, 3, [ 1, 2, 3, 1, 2, 3 ] ]
JavaScript test | #JavaScript
❗️Что будет на выходе:
function trickyFunction(a) {
a = a || 42;
let result = (function(a) {
return a * 2;
})(a);
return result;
}

console.log(trickyFunction(0));

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

Ответ: [ 1, 2 ]

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

Ответ: NaN

JavaScript test | #JavaScript
❗️Что будет на выходе:
let a = 'b';
let b = 'c';

(function () {
console.log(a);
a = 'd';
b = 'e';
console.log(b);
})();

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

Ответ:
b
e
d
e


JavaScript test | #JavaScript