const obj = { a: 1, b: 2, c: 3 };
const result = Object.values(obj).reduce((acc, curr) => acc * curr, 1);
console.log(result);Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const obj = {
name: 'Sarah',
regularMethod: function() {
return () => {
console.log(this.name);
};
},
arrowMethod: () => {
return () => {
console.log(this.name);
};
}
};
const regular = obj.regularMethod();
const arrow = obj.arrowMethod();
regular();
arrow();Ответ: Sarah, undefined
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
class MyClass {
constructor() {
this.value = 42;
}
}
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
setTimeout(() => console.log('4'), 0);
console.log('5');
Promise.resolve().then(() => {
console.log('6');
return Promise.resolve();
}).then(() => console.log('7'));
queueMicrotask(() => console.log('8'));
console.log('9');Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
class EventManager {
constructor() {
this.listeners = new Map();
}
addListener(event, callback) {
if (!this.listeners.has(event)) {
this.listeners.set(event, new Set());
}
this.listeners.get(event).add(callback);
}
}
const manager = new EventManager();
const obj = { name: 'Component' };
manager.addListener('click', () => console.log(obj.name));
obj = null;
console.log(manager.listeners.get('click').size);Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const step1 = multiply(2);
const step2 = step1(3);
const result1 = step2(4);
const result2 = multiply(2)(3)(4);
const partialMultiply = multiply(5);
const result3 = partialMultiply(2)(3);
const doubler = multiply(2)(1);
const result4 = doubler(7);
console.log(result1, result2, result3, result4);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const multiply = (a) => (b) => (c) => a * b * c;
const step1 = multiply(2);
const step2 = step1(3);
const result1 = step2(4);
const result2 = multiply(2)(3)(4);
const partialMultiply = multiply(5);
const result3 = partialMultiply(2)(3);
const doubler = multiply(2)(1);
const result4 = doubler(7);
console.log(result1, result2, result3, result4);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const firstArrayData = [ 'JavaScript', 'Universe' ];
const secondArrayData = [ 'JavaScript', 'Universe' ];
console.log(firstArrayData == secondArrayData);
console.log(firstArrayData === secondArrayData);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const obj = {
value: 011,
increment() {
this.value++;
}
};
const increment = obj.increment;
increment();
console.log(obj.value);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
let obj = { a: 1 };
let proto = { b: 2 };
Object.setPrototypeOf(obj, proto);
for (let key in obj) {
console.log(key);
}
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const symbol1 = Symbol('desc1');
const symbol2 = Symbol('desc2');
const myObject = {};
myObject[symbol1] = 'Value1';
myObject[symbol2] = 'Value2';
let output = '';
for (let key in myObject) {
output += myObject[key] + ' ';
}
output += Object.getOwnPropertySymbols(myObject).length;
console.log(output);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const cache = new Map();
function createHandler(id) {
const data = { id, value: new Array(1000).fill(id) };
cache.set(id, data);
return function(action) {
if (action === 'get') return data;
if (action === 'clear') cache.delete(id);
};
}
const handler1 = createHandler('user-1');
const handler2 = createHandler('user-2');
handler1('clear');
console.log(cache.size);
console.log(handler1('get').id);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
function createCounter() {
let count = 0;
const counter = {
increment() {
count++;
return count;
},
getCount() {
return count;
}
};
return counter;
}
let c1 = createCounter();
c1.increment();
c1.increment();
let c2 = c1;
c1 = null;
console.log(c2.getCount());
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const obj = { a: 1, b: 2, c: 3 };
const result = Object.values(obj).reduce((acc, curr) => acc * curr, 1);
console.log(result);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const nums = [1, 2, 3, 4, 5];
const result = nums
.filter(n => n > 2)
.map(n => n * 2)
.reduce((acc, n) => {
acc.push(n + 1);
return acc;
}, [])
.slice(1);
console.log(result);
console.log(nums);
Ответ: [9,11][1, 2, 3, 4, 5]
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
function* generator1() {
yield 1;
yield 2;
}
function* generator2() {
yield* generator1();
yield 3;
}
const gen = generator2();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const sym1 = Symbol('test');
const sym2 = Symbol('test');
const obj = {
[sym1]: 'value1',
[sym2]: 'value2',
regular: 'value3'
};
const sym3 = Symbol.for('global');
const sym4 = Symbol.for('global');
console.log(sym1 === sym2);
console.log(sym3 === sym4);
console.log(Object.keys(obj).length);
console.log(Object.getOwnPropertySymbols(obj).length);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
const regex = /\d{2,}/;
console.log(regex.test('5'), regex.test('55'), regex.test('555'));Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
function Person(name) {
this.name = name;
}
Person.prototype.greet = function() {
return `Hello, my name is ${this.name}`;
};
const john = new Person('John');
console.log(john.greet());Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
function outer() {
console.log(innerVar);
console.log(typeof innerFunc);
var innerVar = 42;
function innerFunc() {
return innerVar;
}
let anotherVar = 100;
console.log(typeof anotherVar);
}
outer();
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM