❗️Что будет на выходе:
Ответ:[1, 2, 3, 4], 5
JavaScript test | #JavaScript
const obj = Object.freeze({
a: [1, 2, 3],
b: {
c: 4
}
});
obj.a.push(4);
obj.b.c = 5;
console.log(obj.a);
console.log(obj.b.c);Ответ:
❗️Что будет на выходе:
Ответ:6
JavaScript test | #JavaScript
function* alternatingGenerator() {
yield 1;
yield 2;
yield 3;
}
const gen = alternatingGenerator();
const result = [gen.next().value, gen.next().value, gen.next().value].reduce((acc, curr) => acc + curr, 0);
console.log(result);Ответ:
❗️Что будет на выходе:
Ответ:undefined function function function
JavaScript test | #JavaScript
function outer() {
console.log(typeof inner);
console.log(typeof inner2);
var inner = function() {
return 'Inside inner';
};
function inner2() {
return 'Inside inner2';
}
console.log(typeof inner);
console.log(typeof inner2);
}
outer();Ответ:
❗️Что будет на выходе:
Ответ: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, curr, idx, arr) => {
if (idx === arr.length - 1) {
return (acc + curr) / arr.length;
}
return acc + curr;
}, 0);
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:undefined
JavaScript test | #JavaScript
const obj = {
x: 10,
foo() {
setTimeout(function() {
console.log(this.x);
}, 1000);
}
};
obj.foo();Ответ:
❗️Что будет на выходе:
Ответ:[true, 'today', true, false]
JavaScript test | #JavaScript
const cache = new WeakMap();
const user1 = { name: 'Alice' };
const user2 = { name: 'Bob' };
cache.set(user1, { lastLogin: 'yesterday' });
cache.set(user2, { lastLogin: 'today' });
const result = [];
result.push(cache.has(user1));
result.push(cache.get(user2).lastLogin);
let user3 = { name: 'Charlie' };
cache.set(user3, { lastLogin: 'now' });
result.push(cache.has(user3));
user3 = null; // Removing the reference
// Garbage collector might run here in real situations
const user4 = { name: 'Charlie' }; // Same name, different object
result.push(cache.has(user4));
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:5 20 30 20
JavaScript test | #JavaScript
function processData({ a = 10, b = 20 } = { a: 30 }) {
console.log(a, b);
}
processData({ a: 5 });
processData();Ответ:
❗️Что будет на выходе:
Ответ:revealed nothing
JavaScript test | #JavaScript
const target = {
secret: "hidden",
reveal: "nothing"
};
const handler = {
get: function(obj, prop, receiver) {
if (prop === "secret") {
return "revealed";
}
return Reflect.get(...arguments);
}
};
const proxy = new Proxy(target, handler);
with (proxy) {
console.log(secret);
console.log(reveal);
}Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:BAN-CHE
JavaScript test | #JavaScript
const items = ['apple', 'banana', 'cherry', 'date'];
const result = items
.map(item => item.toUpperCase())
.filter(item => item.length > 5)
.reduce((acc, item, index) => {
return acc + (index === 0 ? '' : '-') + item.slice(0, 3);
}, '');
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:3
JavaScript test | #JavaScript
const array = [1, 2, 3];
array[-1] = 0;
console.log(array.length);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:12
JavaScript test | #JavaScript
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(n => n % 2 === 0)
.map(n => n * 2)
.reduce((acc, curr, idx, arr) => {
if (idx === arr.length - 1) {
return (acc + curr) / arr.length;
}
return acc + curr;
}, 0);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:false
JavaScript test | #JavaScript
const weakMap = new WeakMap();
const obj = {};
(function() {
const internalObj = {};
weakMap.set(internalObj, 'hidden');
obj.ref = internalObj;
})();
delete obj.ref;
const result = weakMap.has(obj.ref);
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:Clippers 2 100
JavaScript test | #JavaScript
const teams = [
{ name: 'Warriors', players: ['Curry', 'Thompson'] },
{ name: 'Lakers', players: ['James', 'Davis'] }
];
const newTeams = JSON.parse(JSON.stringify(teams));
newTeams[0].players.push('Green');
const shallowCopy = [...teams];
shallowCopy[1].name = 'Clippers';
const freezeTest = Object.freeze({nested: {value: 42}});
freezeTest.nested.value = 100;
console.log(teams[1].name, teams[0].players.length, freezeTest.nested.value);
Ответ:
❗️Что будет на выходе:
Ответ:27
JavaScript test | #JavaScript
let x = 5;
function addFive(num) {
return num + 5;
}
x = (x++, x = addFive(x), x *= 2, x -= 5, x += 10);
console.log(x);
Ответ:
❗️Что будет на выходе:
Ответ:1, 5, 3, 4, 2
JavaScript test | #JavaScript
console.log(1);
setTimeout(() => console.log(2), 0);
Promise.resolve()
.then(() => {
console.log(3);
return Promise.resolve(4);
})
.then(console.log);
console.log(5);
Ответ:
❗️Что будет на выходе:
Ответ:ReferenceError: Cannot access 'x' before initialization
JavaScript test | #JavaScript
let x = 5;
function foo() {
console.log(x);
let x = 10;
console.log(x);
}
foo();
Ответ:
❗️Что будет на выходе:
Ответ:0 3
JavaScript test | #JavaScript
const numbers = [0,0,0];
let i = 0;
const result = numbers.reduce((acc, _) => {
return ++acc;
}, i);
console.log(i, result);
Ответ:
❗️Что будет на выходе:
Ответ:3 4 Seattle undefined
JavaScript test | #JavaScript
const fruits = ['apple', 'banana', 'cherry'];
const newFruits = [...fruits];
newFruits.push('date');
const user = { name: 'Taylor', age: 30 };
const updatedUser = { ...user, age: 31 };
user.city = 'Seattle';
console.log(fruits.length, newFruits.length, user.city, updatedUser.city);
Ответ:
❗️Что будет на выходе:
Ответ:4
JavaScript test | #JavaScript
const str = "a 1 b 2 c 3 d 04";
function foo(str) {
const regex = /\d+/g;
const matches = str.match(regex);
return matches.lenght;
}
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:14
JavaScript test | #JavaScript
const add = x => y => x + y;
const multiply = x => y => x * y;
const subtract = x => y => x - y;
const result = add(10)(multiply(2)(subtract(5)(3)));
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:8 10 Property x not found
JavaScript test | #JavaScript
const handler = {
get(target, prop) {
if (prop in target) {
return target[prop] * 2;
} else {
return `Property ${prop} not found`;
}
},
set(target, prop, value) {
if (typeof value === 'number') {
target[prop] = Math.round(value);
return true;
}
return false;
}
};
const obj = { a: 5, b: 10 };
const proxy = new Proxy(obj, handler);
proxy.c = 7.8;
proxy.d = "hello";
console.log(obj.c, proxy.a, proxy.x);Ответ:
JavaScript test | #JavaScript