❗️Что будет на выходе:
Ответ:1, user-1
JavaScript test | #JavaScript & Max
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 & Max
❗️Что будет на выходе:
Ответ:Z-Y
JavaScript test | #JavaScript & Max
const obj = {
data: ['x', 'y', 'z'],
*[Symbol.iterator]() {
for (let i = this.data.length - 1; i >= 0; i--) {
yield this.data[i].toUpperCase();
}
}
};
const result = [];
for (const item of obj) {
result.push(item);
if (result.length === 2) break;
}
console.log(result.join('-'));
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:fulfilled error third
JavaScript test | #JavaScript & Max
async function processData() {
const promise1 = Promise.resolve('first');
const promise2 = Promise.reject('error');
const promise3 = Promise.resolve('third');
try {
const result = await Promise.allSettled([promise1, promise2, promise3]);
console.log(result[0].status);
console.log(result[1].reason);
console.log(result[2].value);
} catch (error) {
console.log('caught:', error);
}
}
processData();
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:4 true
JavaScript test | #JavaScript & Max
function Vehicle(wheels) {
this.wheels = wheels;
}
Vehicle.prototype.getWheels = function() {
return this.wheels;
};
function Car() {
Vehicle.call(this, 4);
this.doors = 4;
}
Car.prototype = Object.create(Vehicle.prototype);
Car.prototype.constructor = Car;
const myCar = new Car();
console.log(myCar.getWheels(), myCar instanceof Vehicle);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:object
JavaScript test | #JavaScript & Max
function foo() {
return typeof arguments;
};
console.log(foo(1, 2, 3));
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:
'value1' false
JavaScript test | #JavaScript & Max
let symbol1 = Symbol('description');
let symbol2 = Symbol('description');
const obj = {
[symbol1]: 'value1',
[symbol2]: 'value2'
};
console.log(obj[symbol1]);
console.log(symbol1 === symbol2);
Ответ:
'value1' false
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:16
JavaScript test | #JavaScript & Max
class Calculator {
constructor(value) {
this.value = value;
}
add(num) {
this.value += num;
return this;
}
multiply(num) {
this.value *= num;
return this;
}
}
const calc = new Calculator(5);
const addMethod = calc.add;
const result = addMethod.call(calc, 3).multiply(2);
console.log(result.value);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:
2 1 3
JavaScript test | #JavaScript & Max
function createCounter() {
let count = 0;
return {
increment: () => ++count,
decrement: () => --count,
get: () => count
};
}
const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
console.log(counter1.get(), counter2.get());
const { increment, get } = counter1;
increment();
console.log(get());
Ответ:
2 1 3
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:false, false
JavaScript test | #JavaScript & Max
const firstArrayData = [ 'JavaScript', 'Universe' ];
const secondArrayData = [ 'JavaScript', 'Universe' ];
console.log(firstArrayData == secondArrayData);
console.log(firstArrayData === secondArrayData);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:yellow red green yellow red
JavaScript test | #JavaScript & Max
class LightMachine {
constructor() {
this.states = {
green: { next: 'yellow' },
yellow: { next: 'red' },
red: { next: 'green' }
};
this.currentState = 'green';
}
transition() {
this.currentState = this.states[this.currentState].next;
return this.currentState;
}
}
const lightMachine = new LightMachine();
let result = '';
for (let i = 0; i < 5; i++) {
result += lightMachine.transition() + ' ';
}
console.log(result.trim());
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:{ b: 2, c: 3, a: 1, d: 4 } [4, 5, 3, 1]
JavaScript test | #JavaScript & Max
const data = { a: 1, b: 2, c: 3 };
const { a, ...rest } = data;
const newObj = { ...rest, a, d: 4 };
const arr = [1, 2, 3, 4, 5];
const [first, , third, ...remaining] = arr;
const result = [...remaining, third, first];
console.log(newObj);
console.log(result);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:4 2 1 6 3 5
JavaScript test | #JavaScript & Max
async function fetchData() {
console.log('1');
return Promise.resolve('data');
}
async function processData() {
console.log('2');
const result = await fetchData();
console.log('3');
return result;
}
console.log('4');
processData().then(() => console.log('5'));
console.log('6');
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:2 1 1 1
JavaScript test | #JavaScript & Max
function createCounter() {
let count = 0;
return {
increment: () => ++count,
decrement: () => --count,
getValue: () => count
};
}
const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
console.log(counter1.getValue(), counter2.getValue());
counter1.decrement();
console.log(counter1.getValue(), counter2.getValue());
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1, [4, 3, 8, 5]
JavaScript test | #JavaScript & Max
const array = [1, 2, 3, 4, 5];
const [first, ...rest] = array;
const modified = rest.map((n, i) => i % 2 === 0 ? n * 2 : n);
console.log(first, modified);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:[2, 4, 6]
JavaScript test | #JavaScript & Max
const weakMap = new WeakMap();
const objs = [{}, {}, {}];
objs.forEach((obj, index) => weakMap.set(obj, index + 1));
const result = objs.filter(obj => weakMap.has(obj)).map(obj => weakMap.get(obj) * 2);
console.log(result);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1
JavaScript test | #JavaScript & Max
function* infiniteGenerator() {
let i = 0;
while (true) {
yield i++;
}
}
const weakMap = new WeakMap();
const gen = infiniteGenerator();
weakMap.set(gen, gen.next().value);
const result = weakMap.get(gen) + gen.next().value;
console.log(result);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1 30 10 30 1 30
JavaScript test | #JavaScript & Max
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { ...obj1 };
const obj3 = obj1;
obj2.a = 10;
obj2.b.c = 20;
obj3.b.c = 30;
console.log(obj1.a);
console.log(obj1.b.c);
console.log(obj2.a);
console.log(obj2.b.c);
console.log(obj3.a);
console.log(obj3.b.c);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:Maya TOKYO Property 'country' not found
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);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:[12, 16, 4, 8]
JavaScript test | #JavaScript & Max
const matrix = [
[2, 4],
[6, 8],
];
const result = matrix.reduceRight((acc, row) => acc.concat(row.map(num => num * 2)), []);
console.log(result);
Ответ:
JavaScript test | #JavaScript & Max
Что будет на выходе:
Ответ:Result: 20
JavaScript test | #JavaScript & Max
class DataProcessor {
constructor(transform) {
this.transform = transform;
}
process(data) {
return this.transform(data);
}
}
const multiply = x => x * 2;
const addTen = x => x + 10;
const toString = x => `Result: ${x}`;
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const processor = new DataProcessor(compose(toString, addTen, multiply));
console.log(processor.process(5));
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1
JavaScript test | #JavaScript & Max
const obj = { length: 3 };
console.log(Object.keys(obj).length);
Ответ:
JavaScript test | #JavaScript & Max