❗️Что будет на выходе:
Ответ:1, 1, 2, 2
JavaScript test | #JavaScript
function createCounter() {
let count = 0;
return {
increment() {
count++;
return count;
},
getCount() {
return count;
}
};
}
const counter = createCounter();
console.log(counter.increment());
console.log(counter.getCount());
console.log(counter.increment());
console.log(counter.getCount());
Ответ:
❗️Что будет на выходе:
Ответ:1, 2, 3
JavaScript test | #JavaScript
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
❗️Что будет на выходе:
Ответ:DB: Saving user user_saved
JavaScript test | #JavaScript
class Logger {
constructor(prefix) {
this.prefix = prefix;
}
log(message) {
console.log(`${this.prefix}: ${message}`);
}
}
class Database {
constructor(logger) {
this.logger = logger;
}
save(data) {
this.logger.log(`Saving ${data}`);
return `${data}_saved`;
}
}
const logger = new Logger('DB');
const db = new Database(logger);
const result = db.save('user');
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:yellow red green yellow red
JavaScript test | #JavaScript
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());
Ответ:
❗️Что будет на выходе:
Ответ:6
JavaScript test | #JavaScript
const arr = [1, 2, 3, 4, 5];
const result = arr
.map(x => x * 2)
.filter(x => x > 5)
.reduce((acc, val) => {
return acc + (val % 3 === 0 ? val : 0);
}, 0);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:true true false undefined
JavaScript test | #JavaScript
const ws = new WeakSet();
const obj1 = { name: 'first' };
const obj2 = { name: 'second' };
const obj3 = obj1;
ws.add(obj1);
ws.add(obj2);
ws.add(obj3);
console.log(ws.has(obj1));
console.log(ws.has(obj3));
console.log(ws.has({ name: 'first' }));
console.log(ws.size);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:start 1 2 inner-done end
JavaScript test | #JavaScript
function* innerGenerator() {
yield 1;
yield 2;
return 'inner-done';
}
function* outerGenerator() {
yield 'start';
const result = yield* innerGenerator();
yield result;
yield 'end';
}
const gen = outerGenerator();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:0,2,6
JavaScript test | #JavaScript
function processData() {
const results = [];
for (let i = 0; i < 3; i++) {
const multiplier = i + 1;
setTimeout(() => {
results.push(i * multiplier);
}, 0);
}
setTimeout(() => {
console.log(results.join(','));
}, 10);
}
processData();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:16
JavaScript test | #JavaScript
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
❗️Что будет на выходе:
Ответ:1 6 3 5 4 2
JavaScript test | #JavaScript
function getOrder() {
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => {
console.log('3');
Promise.resolve().then(() => console.log('4'));
});
Promise.resolve().then(() => console.log('5'));
console.log('6');
}
getOrder();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:10 15
JavaScript test | #JavaScript
class EventEmitter {
constructor() {
this.events = new Map();
}
on(event, callback) {
if (!this.events.has(event)) {
this.events.set(event, []);
}
this.events.get(event).push(callback);
return this;
}
emit(event, ...args) {
const callbacks = this.events.get(event);
if (callbacks) {
callbacks.forEach(cb => cb(...args));
}
return this;
}
}
const emitter = new EventEmitter();
emitter.on('test', x => console.log(x * 2))
.on('test', x => console.log(x + 10))
.emit('test', 5);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:2
JavaScript test | #JavaScript
function createCounter() {
let count = 0;
function increment() {
count++;
return count;
}
function decrement() {
count--;
return count;
}
return { increment, decrement, reset: () => count = 0 };
}
const counter = createCounter();
counter.increment();
counter.increment();
counter.decrement();
const { increment, reset } = counter;
increment();
reset();
increment();
console.log(counter.increment());
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Z-Y
JavaScript test | #JavaScript
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
❗️Что будет на выходе:
Ответ:undefined 'function' 'number'
JavaScript test | #JavaScript
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
Telegram
JavaScript test
Проверка своих знаний по языку JavaScript.
Ссылка: @Portal_v_IT
Сотрудничество: @oleginc, @tatiana_inc
Канал на бирже: telega.in/c/js_test
РКН: clck.ru/3KHeYk
Ссылка: @Portal_v_IT
Сотрудничество: @oleginc, @tatiana_inc
Канал на бирже: telega.in/c/js_test
РКН: clck.ru/3KHeYk
❗️Что будет на выходе:
Ответ:Error
JavaScript test | #JavaScript
console.log(MyClass);
class MyClass {
constructor() {
this.value = 42;
}
}
Ответ:
❗️Что будет на выходе:
Ответ:0
JavaScript test | #JavaScript
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => {
setTimeout(() => {
acc += curr;
}, 0);
return acc;
}, 0);
console.log(sum);
Ответ:
JavaScript test | #JavaScript