❗️Что будет на выходе?
Ответ:object, undefined, object, object
JavaScript test | #JavaScript
console.log(typeof null);
console.log(typeof undefined);
console.log(typeof {});
console.log(typeof []);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'10'
JavaScript test | #JavaScript
const num = 10;
const str = num.toString().padStart(0, "9");
console.log(str);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:0 2 1 2
JavaScript test | #JavaScript
function* counter() {
let i = 0;
while (true) {
const direction = yield i;
if (direction === 'up') i += 2;
else if (direction === 'down') i -= 1;
else i += 1;
}
}
const count = counter();
console.log(count.next().value);
console.log(count.next('up').value);
console.log(count.next('down').value);
console.log(count.next().value);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:0
0
1
1
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());Ответ:
0
1
1
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:first second 2 { value: 'done', done: true }
JavaScript test | #JavaScript
function* genSequence() {
const result = yield 'first';
console.log(result);
yield* [1, 2];
return 'done';
}
const gen = genSequence();
let next = gen.next('ignored');
console.log(next.value);
next = gen.next('second');
next = gen.next();
console.log(next.value);
next = gen.next();
console.log(next);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'string'
JavaScript test | #JavaScript
function calc(num) {
return num + 0.01 * '0';
}
typeof calc('hello');Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:Dog called Rex
JavaScript test | #JavaScript
function Animal(name) {
this.name = name;
}
Animal.prototype.getName = function() {
return this.name;
};
function Dog(name, breed) {
Animal.call(this, name);
this.breed = breed;
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.getName = function() {
return `Dog called ${Animal.prototype.getName.call(this)}`;
};
const myDog = new Dog('Rex', 'German Shepherd');
console.log(myDog.getName());Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'World'
'World'
JavaScript test | #JavaScript
function asyncQuiz() {
return new Promise((resolve) => {
setTimeout(() => resolve('World'), 100);
});
}
async function runAsyncQuiz() {
const result = await asyncQuiz();
console.log(result);
}
console.log('World');
runAsyncQuiz();Ответ:
'World'
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
JavaScript test | #JavaScript
async function asyncArrayOperations() {
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const array3 = [7, 8, 9];
const result = await Promise.all([array1, array2, array3].map(async arr => {
return await arr.filter(async (acc, num) => {
return (await acc) + num;
}, Promise.resolve(0));
}));
console.log(result);
}
asyncArrayOperations();Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:true
false
true
JavaScript test | #JavaScript
console.log(new RegExp({}).test("test"));
console.log(new RegExp({}).test("why?"));
console.log(new RegExp({}).test("cause"));Ответ:
false
true
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:42, undefined, 100, undefined, 42
JavaScript test | #JavaScript
const obj = {
value: 42,
getValue() {
return this.value;
},
getValueArrow: () => this.value,
nested: {
value: 100,
getValue() {
return this.value;
}
}
};
const extractedMethod = obj.getValue;
const boundMethod = obj.getValue.bind(obj);
console.log(obj.getValue() + ',' + obj.getValueArrow() + ',' +
obj.nested.getValue() + ',' + extractedMethod() + ',' +
boundMethod());Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:1, 10, 11
JavaScript test | #JavaScript
const target = { a: 1, b: 2 };
const handler = {
get(obj, prop) {
return prop === 'sum' ? obj.a + obj.b : Reflect.get(obj, prop);
},
set(obj, prop, value) {
if (prop === 'a' && value < 0) {
return false;
}
return Reflect.set(obj, prop, value);
}
};
const proxy = new Proxy(target, handler);
proxy.a = -5;
proxy.b = 10;
console.log(`${proxy.a}, ${proxy.b}, ${proxy.sum}`);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'dlrWllH'
JavaScript test | #JavaScript
const string = "Hello, World!";
const result = [...string.matchAll(/[HlWrd]/g)]
.map(match => match[0])
.reverse()
.join("");
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[undefined, 10]
JavaScript test | #JavaScript
const obj = {
value: 10,
getValue() {
return this.value;
},
getArrowValue: () => {
return this.value;
},
getMixedValue() {
const regular = function() { return this.value; };
const arrow = () => this.value;
return [regular(), arrow()];
}
};
console.log(obj.getMixedValue());Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'ololloellohello'
JavaScript test | #JavaScript
function recursiveReverseString(str) {
return str === "" ? str : recursiveReverseString(str.substr(1)) + str;
}
const result = recursiveReverseString("hello");
console.log(result);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:3 1
JavaScript test | #JavaScript
const sym = Symbol('unique');
const obj = {
[sym]: 'symbol value',
a: 0,
b: 2,
c: 1
};
const keys = Object.keys(obj);
const symbols = Object.getOwnPropertySymbols(obj);
console.log(keys.length, symbols.length);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:undefined
JavaScript test | #JavaScript
const obj = {
value: 42,
getValue() {
return this.value;
},
getArrowValue: () => {
return this.value;
},
getDelayedValue() {
setTimeout(function() {
console.log(this.value);
}, 0);
},
getFixedDelayedValue() {
setTimeout(() => {
console.log(this.value);
}, 0);
}
};
obj.getDelayedValue();Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'string'
'14243'
JavaScript test | #JavaScript
const arr = [1, 2, 3];
const str = arr.join([4]);
console.log(typeof str);
console.log(str);
Ответ:
'14243'
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:BOB-NOT_FOUND-NOT_FOUND
JavaScript test | #JavaScript
const target = { name: 'Alice' };
const handler = {
get(obj, prop) {
return prop in obj ? obj[prop].toUpperCase() : 'NOT_FOUND';
},
set(obj, prop, value) {
if (typeof value !== 'string') {
return false;
}
obj[prop] = value.trim();
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.name = ' Bob ';
proxy.age = 30;
console.log(`${proxy.name}-${proxy.age}-${proxy.job}`);Ответ:
JavaScript test | #JavaScript