❗️Что будет на выходе:
Ответ:24
JavaScript test | #JavaScript
function curry(fn) {
return function curried(...args) {
if (args.length >= fn.length) {
return fn.apply(this, args);
}
return function(...moreArgs) {
return curried.apply(this, [...args, ...moreArgs]);
};
};
}
const multiply = curry((a, b, c) => a * b * c);
const double = multiply(2);
const result = double(3)(4);
console.log(result);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:20
JavaScript test | #JavaScript
const num = 10;
const add = () => {
console.log(num + num);
};
(function () {
const num = 5;
add();
})();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Hello World true
JavaScript test | #JavaScript
class EventEmitter {
constructor() {
this.events = {};
}
on(event, listener) {
if (!this.events[event]) {
this.events[event] = [];
}
this.events[event].push(listener);
return () => this.off(event, listener);
}
off(event, listener) {
if (!this.events[event]) return;
this.events[event] = this.events[event].filter(l => l !== listener);
}
emit(event, ...args) {
if (!this.events[event]) return false;
this.events[event].forEach(listener => listener(...args));
return true;
}
}
const emitter = new EventEmitter();
const unsubscribe = emitter.on('message', data => console.log(data));
emitter.emit('message', 'Hello');
emitter.emit('message', 'World');
unsubscribe();
emitter.emit('message', 'Ignored');
console.log(emitter.emit('message', 'Still ignored'));Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:TypeError: Cannot read property 'toUpperCase' of undefined
JavaScript test | #JavaScript
const person = {};
person.name.toUpperCase();
console.log(person.name);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:12
JavaScript test | #JavaScript
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2)
.reduce((acc, num, index, array) => {
if (index === array.length - 1) {
return (acc + num) / array.length;
}
return acc + num;
}, 0);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:1, 2
JavaScript test | #JavaScript
Promise.resolve(1)
.then(r => Promise.reject(r))
.catch(console.log)
.then(() => console.log(2));
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Start, Outside, Inside, Promise, End
JavaScript test | #JavaScript
async function foo() {
console.log('Start');
await Promise.resolve().then(() => {
console.log('Inside Promise');
});
console.log('End');
}
foo();
console.log('Outside');Ответ:
❗️Что будет на выходе:
Ответ:5
JavaScript test | #JavaScript
var i = 5;
const arr = new Array(5);
arr.forEach(() => i++);
console.log(i);
Ответ:
❗️Что будет на выходе:
Ответ:dark
JavaScript test | #JavaScript
const user = {
details: {
name: 'Alex',
contact: null,
preferences: {
theme: 'dark'
}
},
getInfo() {
return this?.details?.contact?.email ||
this?.details?.preferences?.theme ||
this?.details?.name ||
'Unknown';
}
};
console.log(user.getInfo());Ответ:
❗️Что будет на выходе:
Ответ:1
JavaScript test | #JavaScript
const wMap = new WeakMap();
function foo() {
wMap.set(this, 1);
};
const bar = () => wMap.set(this, 2);
bar();
foo();
console.log(wMap.get(this));
Ответ:
❗️Что будет на выходе:
Ответ:6
JavaScript test | #JavaScript
function createCounter() {
let count = 0;
return {
increment: () => ++count,
getCount: () => count
};
}
function compose(...fns) {
return (x) => fns.reduceRight((acc, fn) => fn(acc), x);
}
const counter = createCounter();
const double = x => x * 2;
const addOne = x => x + 1;
const incrementAndProcess = compose(double, addOne, counter.increment);
counter.increment();
const result = incrementAndProcess();
console.log(result);Ответ:
❗️Что будет на выходе:
Ответ:hidden exposed
JavaScript test | #JavaScript
const handler = {
get(target, prop, receiver) {
if (prop === 'secret') {
return Reflect.get(...arguments) + ' exposed';
}
return Reflect.get(...arguments);
}
};
const secretObj = { secret: 'hidden', reveal: 'nothing' };
const proxy = new Proxy(secretObj, handler);
console.log(proxy.secret);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:"olleh"
JavaScript test | #JavaScript
function recursiveReverseString(str) {
return str === "" ? str : recursiveReverseString(str.substr(1)) + str[0];
}
const result = recursiveReverseString("hello");
console.log(result);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:{ names: ['Laptop', 'Headphones', 'Shirt'], total: 1192.5 }
JavaScript test | #JavaScript
const products = [
{ id: 1, name: 'Laptop', price: 1200, category: 'Electronics' },
{ id: 2, name: 'Headphones', price: 100, category: 'Electronics' },
{ id: 3, name: 'Book', price: 15, category: 'Books' },
{ id: 4, name: 'Shirt', price: 25, category: 'Clothing' },
{ id: 5, name: 'Coffee Mug', price: 10, category: 'Kitchen' }
];
const result = products
.filter(p => p.price > 20)
.map(p => ({ name: p.name, value: p.price * 0.9 }))
.reduce((acc, item) => {
acc.names.push(item.name);
acc.total += item.value;
return acc;
}, { names: [], total: 0 });
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[1, 2, 3, 4]
JavaScript test | #JavaScript
const x = [1, 2, 3];
const y = x;
y.push(4);
console.log(x);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Hello, I'm Alice Hello, I'm undefined Goodbye from undefined
JavaScript test | #JavaScript
const person = {
name: 'Alice',
greet() {
return `Hello, I'm ${this.name}`;
},
farewell: () => `Goodbye from ${this.name}`
};
const greetFn = person.greet;
const farewellFn = person.farewell;
console.log(person.greet());
console.log(greetFn());
console.log(farewellFn());Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Start, Outside, Inside, Promise, End
JavaScript test | #JavaScript
async function foo() {
console.log('Start');
await Promise.resolve().then(() => {
console.log('Inside Promise');
});
console.log('End');
}
foo();
console.log('Outside');Ответ:
❗️Что будет на выходе:
Ответ:A G C E B F D
JavaScript test | #JavaScript
function task1() {
console.log('A');
setTimeout(() => console.log('B'), 0);
Promise.resolve().then(() => console.log('C'));
Promise.resolve().then(() => setTimeout(() => console.log('D'), 0));
Promise.resolve().then(() => console.log('E'));
setTimeout(() => console.log('F'), 0);
console.log('G');
}
task1();Ответ:
❗️Что будет на выходе:
Ответ:['a', 'b', 'c', 1, 2, 3]
JavaScript test | #JavaScript
const words = ['a', 'b', 'c'];
const result = words.concat(1, 2, 3);
console.log(result);
Ответ: