❗️Что будет на выходе:
Ответ: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());
Ответ:
❗️Что будет на выходе:
Ответ:6
JavaScript test | #JavaScript
const obj = { a: 1, b: 2, c: 3 };
const result = Object.values(obj).reduce((acc, curr) => acc * curr, 1);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:1, 6, 4, 5, 3, 2
JavaScript test | #JavaScript
console.log(1);
setTimeout(() => {
console.log(2);
}, 100);
setTimeout(() => {
console.log(3);
}, 0);
Promise.resolve().then(() => {
console.log(4);
}).then(() => {
console.log(5);
});
console.log(6);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[1, 2, 3, 3, 4, 5, 4, 5, 6, 7, 5, 6, 7, 8, 9]
JavaScript test | #JavaScript
const data = [1, 2, 3, 4, 5];
const result = data.reduce((acc, val) => acc.concat(Array.from({ length: val }, (_, index) => val + index)), []);
console.log(result);
Ответ:
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
❗️Что будет на выходе?
Ответ:2 1 3
JavaScript test | #JavaScript
const obj = {
[Symbol('a')]: 'hidden',
[Symbol.for('b')]: 'registered',
c: 'normal'
};
const symbols = Object.getOwnPropertySymbols(obj);
const keys = Object.keys(obj);
const allProps = Reflect.ownKeys(obj);
console.log(symbols.length, keys.length, allProps.length);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:3 true greet
JavaScript test | #JavaScript
const user = {
name: 'Sarah',
age: 25,
greet() {
return `Hello, I'm ${this.name}`;
}
};
const keys = Object.keys(user);
const values = Object.values(user);
const entries = Object.entries(user);
console.log(keys.length);
console.log(values.includes('Sarah'));
console.log(entries[2][0]);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[1, 2, 3, 3, 4, 5, 4, 5, 6, 7, 5, 6, 7, 8, 9]
JavaScript test | #JavaScript
const data = [1, 2, 3, 4, 5];
const result = data.reduce((acc, val) => acc.concat(Array.from({ length: val }, (_, index) => val + index)), []);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:dark undefined undefined light
JavaScript test | #JavaScript
const user = {
name: 'Sarah',
profile: {
settings: {
theme: 'dark'
}
}
};
const config = {
name: 'John',
profile: null
};
console.log(user.profile?.settings?.theme);
console.log(config.profile?.settings?.theme);
console.log(user.profile?.preferences?.language);
console.log(config.profile?.settings?.theme ?? 'light');
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:3, Seattle
JavaScript test | #JavaScript
const original = {
name: 'Sarah',
hobbies: ['reading', 'coding'],
address: { city: 'Portland', zip: 97201 }
};
const shallow = { ...original };
const deep = JSON.parse(JSON.stringify(original));
shallow.name = 'Emma';
shallow.hobbies.push('hiking');
shallow.address.city = 'Seattle';
deep.hobbies.push('swimming');
deep.address.zip = 98101;
console.log(original.hobbies.length, original.address.city);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Sarah 25 100000 Property city not found
JavaScript test | #JavaScript
const target = { name: 'Sarah', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop].toString().toUpperCase();
}
return `Property ${prop} not found`;
},
set(obj, prop, value) {
obj[prop] = value * 2;
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.salary = 50000;
console.log(proxy.name);
console.log(proxy.age);
console.log(proxy.salary);
console.log(proxy.city);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:inner inner inner outer
JavaScript test | #JavaScript
function testScope() {
var x = 'outer';
let y = 'outer';
if (true) {
var x = 'inner';
let y = 'inner';
console.log(x, y);
}
console.log(x, y);
}
testScope();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:TypeError: rectangle, area is not a function at line 13
JavaScript test | #JavaScript
class Rectangle {
constructor(width, height) {
this.width = width;
this.height = height;
}
get area() {
return this.width * this.height;
}
}
const rectangle = new Rectangle(5, 10);
console.log(rectangle.area());
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ: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();
Ответ:
❗️Что будет на выходе:
Ответ:-256 -256 true
JavaScript test | #JavaScript
const compose = (...fns) => (x) => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => (x) => fns.reduce((acc, fn) => fn(acc), x);
const double = (x) => x * 2;
const addTen = (x) => x + 10;
const square = (x) => x * x;
const negate = (x) => -x;
const transform1 = compose(negate, square, addTen, double);
const transform2 = pipe(double, addTen, square, negate);
const input = 3;
console.log(transform1(input));
console.log(transform2(input));
console.log(transform1(input) === transform2(input));
Ответ:
❗️Что будет на выходе:
Ответ:3
[ 3, 15, 27 ]
JavaScript test | #JavaScript
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
let columnSums = [];
for (let i = 0; i < matrix[0].length; i++) {
let sum = 0;
for (let j = 0; j < matrix.length; j++) {
sum += matrix[i][i];
}
columnSums.push(sum);
}
console.log(columnSums);
Ответ:
[ 3, 15, 27 ]
❗️Что будет на выходе:
Ответ:true true false false undefined
JavaScript test | #JavaScript
class Session {
#id;
constructor(id) {
this.#id = id;
}
getId() { return this.#id; }
}
const activeSessions = new WeakSet();
const s1 = new Session("user_42");
const s2 = new Session("user_99");
let s3 = new Session("user_07");
activeSessions.add(s1);
activeSessions.add(s2);
activeSessions.add(s3);
console.log(activeSessions.has(s1)); // line A
console.log(activeSessions.has(s3)); // line B
s3 = null;
console.log(activeSessions.has(s3)); // line C
activeSessions.delete(s2);
console.log(activeSessions.has(s2)); // line D
console.log(activeSessions.size); // line E
Ответ:
❗️Что будет на выходе:
Ответ:undefined 10
JavaScript test | #JavaScript
var a = 5;
function test() {
console.log(a);
var a = 10;
console.log(a);
}
test();
Ответ:
❗️Что будет на выходе:
Ответ:2 false false
JavaScript test | #JavaScript
const inventory = {
apples: 5,
bananas: 0,
cherries: 12,
dates: undefined,
elderberries: null,
};
const summary = Object.entries(inventory)
.filter(([_, value]) => value)
.reduce((acc, [key, value]) => {
acc[key] = value * 2;
return acc;
}, {});
console.log(Object.keys(summary).length);
console.log(Object.values(summary).every(v => v > 10));
console.log(Object.keys(inventory).length === Object.keys(summary).length);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:
default default undefined
JavaScript test | #JavaScript
const user = {
profile: {
name: "Alice",
settings: null
},
getPreferences() {
return this.profile.settings?.theme || "default";
}
};
const admin = {
profile: {
name: "Admin"
},
getPreferences() {
return this.profile.settings?.theme || "default";
}
};
console.log(user.getPreferences());
console.log(admin.getPreferences());
console.log(user.profile.extra?.id?.toString());
Ответ:
❓Что будет на выходе?
Ответ:
true
false
JavaScript test | #JavaScript
var a=[1,2,3,4,5];
console.log(a.some(x=>x>4));
console.log(a.some(x=>x>5));
Ответ:
false
JavaScript test | #JavaScript