❗️Что будет на выходе?
Ответ:'value1'
'value2'
'value1'
JavaScript test | #JavaScript
const weakMap = new WeakMap();
const obj = {};
const gen = (function* () {
yield 'value1';
yield 'value2';
yield* ['value1', 'value2']
})();
weakMap.set(obj, gen.next().value);
console.log(weakMap.get(obj));
console.log(gen.next().value);
console.log(gen.next().value);
Ответ:
'value2'
'value1'
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:0
JavaScript test | #JavaScript
const counter = (() => {
let count = 0;
return {
increment() {
count += 1;
return this;
},
reset() {
count = 0;
return this;
},
get value() {
return count;
}
};
})();
const { increment, value } = counter;
increment();
counter.increment();
console.log(value);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:6
3
3
3
JavaScript test | #JavaScript
for (var i = 0; i < 3; i++) {
const log = () => {
console.log(i)
}
setTimeout(log, 1)
}Ответ:
3
3
3
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:-1
JavaScript test | #JavaScript
function recursiveBinarySearch(arr, target, start = 0, end = arr.length - 1) {
if (start > end) {
return -1;
}
const mid = Math.floor((start + end) / 2);
if (arr[mid] === target) {
return mid;
} else if (arr[mid] < target) {
return recursiveBinarySearch(arr, target, mid + 1, end);
} else {
return recursiveBinarySearch(arr, target, start, mid - 1);
}
}
const result = recursiveBinarySearch([[[1, 2, 3, 4, 5, [6, 7], 8], 9], 6]);
console.log(result);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:Port: 0, Timeout: 5000, Debug: disabled
JavaScript test | #JavaScript
function processConfig(config) {
const defaultPort = 8080;
const defaultTimeout = 5000;
const port = config?.port ?? defaultPort;
const timeout = config?.timeout ?? defaultTimeout;
const debug = config?.debug ?? false;
return {
summary: `Port: ${port}, Timeout: ${timeout}, Debug: ${debug ? 'enabled' : 'disabled'}`,
isUsingDefaults: port === defaultPort && timeout === defaultTimeout
};
}
const result = processConfig({ port: 0, timeout: null });
console.log(result.summary);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:false
false
false
false
false
false
false
true
JavaScript test | #JavaScript
function Car(make) {
this.make = make;
}
function Truck(make) {
this.make = make;
}
const car = new Car('Toyota');
const truck = new Truck('Toyota');
var newCar = car;
console.log(car.__proto__ === truck.__proto__);
console.log(car.constructor === truck.constructor);
console.log(car instanceof Truck);
console.log(truck instanceof Car);
console.log(Truck.prototype.isPrototypeOf(car));
console.log(Car.prototype.isPrototypeOf(truck));
console.log(truck === car);
console.log(newCar === car);Ответ:
false
false
false
false
false
false
true
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:No reputation yet
JavaScript test | #JavaScript
function processUserData(data) {
const settings = {
theme: data.preferences?.theme ?? 'light',
notifications: data.preferences?.notifications ?? true,
fontSize: data.preferences?.fontSize ?? 16
};
let status = data.status ?? 'active';
let reputation = data.reputation ?? 0;
console.log(reputation || 'No reputation yet');
return settings;
}
processUserData({ status: '', reputation: 0 });Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:101
JavaScript test | #JavaScript
const value = { number: 100 };
function increment(obj) {
obj.number++;
}
increment(value);
console.log(value.number);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:undefined
JavaScript test | #JavaScript
type User = {
id: number;
name: string;
email?: string;
};
function processUser<T extends User>(user: T): T & { processed: boolean } {
return { ...user, processed: true };
}
const partialUser = { id: 1, name: 'Alice' };
const result = processUser(partialUser);
console.log(typeof result.email);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:true
false
false
true
true
JavaScript test | #JavaScript
var a=[1], b=1, c="1", d={1:1}
console.log(Array.isArray(a));
console.log(Array.isArray(b));
console.log(Array.isArray(c));
console.log(Array.isArray([d]));
console.log(Array.isArray([]));Ответ:
false
false
true
true
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:false true "90071992547409921"
JavaScript test | #JavaScript
const num1 = 9007199254740992n;
const num2 = 1n;
const result1 = num1 + num2;
const result2 = Number(num1) + Number(num2);
const result3 = num1 + BigInt(1);
const result4 = String(num1) + String(num2);
console.log(typeof result2 === typeof result1, result1 === result3, result4);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[ 1, 5, 10, 15 ]
JavaScript test | #JavaScript
const arr = [1, 5, 10, 15];
console.log(arr.fill(0, 2, 0, 2, 0, 2, 1));
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:4 true true Value 4
JavaScript test | #JavaScript
function createSymbolDemo() {
const obj = {};
const sym1 = Symbol('description');
const sym2 = Symbol('description');
const sym3 = Symbol.for('shared');
const sym4 = Symbol.for('shared');
obj[sym1] = 'Value 1';
obj[sym2] = 'Value 2';
obj[sym3] = 'Value 3';
obj[sym4] = 'Value 4';
console.log(Object.keys(obj).length, sym1 === sym2, sym3 === sym4, obj[sym3]);
}
createSymbolDemo();Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:9
JavaScript test | #JavaScript
const obj = {
value: 011,
increment() {
this.value++;
}
};
const increment = obj.increment;
increment();
console.log(obj.value);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[1, 4, 3, 8, 5, 12]
JavaScript test | #JavaScript
function* generateSequence() {
let i = 1;
while (i <= 3) {
yield i++;
}
}
function* extendSequence() {
yield* generateSequence();
yield* [4, 5];
yield 6;
}
const generator = extendSequence();
const result = [];
for (const value of generator) {
if (value % 2 === 0) {
result.push(value * 2);
} else {
result.push(value);
}
}
console.log(result);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'function'
'object'
'string'
'object'
JavaScript test | #JavaScript
console.log(typeof Object);
console.log(typeof Object());
console.log(typeof 'Object');
console.log(typeof new Object);
Ответ:
'object'
'string'
'object'
JavaScript test | #JavaScript
Forwarded from The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16!
Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:
1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.
Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:
1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.
Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
❗️Что будет на выходе?
Ответ:3
7
10
JavaScript test | #JavaScript
const arr = [];
arr.length = 3;
arr[10] = 7;
arr.forEach((el, i) => console.log(i))
Ответ:
7
10
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[true, undefined, 2]
JavaScript test | #JavaScript
const privateData = new WeakMap();
function Person(name) {
privateData.set(this, { name, secretCount: 0 });
this.greet = function() {
const data = privateData.get(this);
data.secretCount++;
return `Hello, my name is ${data.name}`;
};
this.getSecretCount = function() {
return privateData.get(this).secretCount;
};
}
const alice = new Person('Alice');
alice.greet();
alice.greet();
const result = [
privateData.has(alice),
alice.name,
alice.getSecretCount()
];
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[ 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ]
JavaScript test | #JavaScript
const array = [1, 2, 3, 4, 5];
const result = array.map(function(n) {
return this ? n : 1 * 2 + 3;
}, false);
console.log([...result, ...result]);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:Age must be a number Property 'job' doesn't exist
JavaScript test | #JavaScript
const user = {
name: 'Alice',
age: 30
};
const handler = {
get(target, prop) {
if (prop in target) {
return target[prop];
}
return `Property '${prop}' doesn't exist`;
},
set(target, prop, value) {
if (prop === 'age' && typeof value !== 'number') {
console.log('Age must be a number');
return false;
}
target[prop] = value;
return true;
}
};
const proxy = new Proxy(user, handler);
proxy.age = '32';
proxy.age = 32;
console.log(proxy.job);Ответ:
JavaScript test | #JavaScript