❗️Что будет на выходе:
Ответ: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
❓Что будет на выходе?
Ответ:
Marcus | 30 | dark | en-US
JavaScript test | #JavaScript
const user = {
profile: {
getName: () => "Marcus",
getAge: () => 30,
},
settings: null,
};
const name = user.profile?.getName?.();
const age = user.profile?.getAge?.();
const theme = user.settings?.getTheme?.() ?? "dark";
const lang = user.address?.getLocale?.() ?? "en-US";
console.log(`${name} | ${age} | ${theme} | ${lang}`);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:APPLE + BANANA + ORANGE
JavaScript test | #JavaScript
const inventory = {
items: ['apple', 'banana', 'orange'],
[Symbol.iterator]: function() {
let index = 0;
const items = this.items;
return {
next: function() {
return index < items.length ?
{ value: items[index++].toUpperCase(), done: false } :
{ done: true };
}
};
}
};
const result = [...inventory].join(' + ');
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:Maya TOKYO Property 'country' not found
JavaScript test | #JavaScript
const target = { name: 'Maya', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop];
}
return `Property '${prop}' not found`;
},
set(obj, prop, value) {
if (typeof value === 'string') {
obj[prop] = value.toUpperCase();
} else {
obj[prop] = value;
}
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.city = 'tokyo';
console.log(proxy.name);
console.log(proxy.city);
console.log(proxy.country);
Ответ:
❗️Что будет на выходе:
Ответ:1 88 undefined, 30 20 undefined
JavaScript test | #JavaScript
const obj = { a: 1, b: { c: 2 } };
const frozen = Object.freeze(obj);
frozen.a = 99;
frozen.b.c = 88;
frozen.d = 77;
const sealed = Object.seal({ x: 10, y: 20 });
sealed.x = 30;
sealed.z = 40;
delete sealed.y;
console.log(obj.a, obj.b.c, obj.d);
console.log(sealed.x, sealed.y, sealed.z);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:20
JavaScript test | #JavaScript
const num = 10;
const add = () => {
console.log(num + num);
};
(function () {
const num = 5;
add();
})();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:CustomError outer false
JavaScript test | #JavaScript
class CustomError extends Error {
constructor(message) {
super(message);
this.name = 'CustomError';
}
}
try {
try {
throw new CustomError('inner error');
} catch (e) {
console.log(e.name);
throw new Error('outer error');
}
} catch (e) {
console.log(e.message);
console.log(e instanceof CustomError);
}
Ответ:
JavaScript test | #JavaScript
❓Что будет на выходе?
Ответ:
[ '100001,111,12222221,222,3333,12321,14441' ]
[ '100001,111,12222221,222,3333,12321,14441' ]
JavaScript test | #JavaScript
var s="100001,111,12222221,222,3333,12321,14441";
var match1=s.match(/1.*1/g)
var match2=s.match(/1.+1/g)
console.log(match1)
console.log(match2)
Ответ:
[ '100001,111,12222221,222,3333,12321,14441' ]
[ '100001,111,12222221,222,3333,12321,14441' ]
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ: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
❗️Что будет на выходе:
Ответ:start first second third end
JavaScript test | #JavaScript
const promise1 = Promise.resolve('first');
const promise2 = new Promise(resolve => {
resolve('second');
});
const promise3 = Promise.resolve().then(() => 'third');
async function test() {
console.log('start');
const result1 = await promise1;
console.log(result1);
const result2 = await promise2;
console.log(result2);
const result3 = await promise3;
console.log(result3);
console.log('end');
}
test();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[4, 5, 7, 8, 10]
JavaScript test | #JavaScript
function* range(start, end) {
let current = start;
while (current <= end) {
if (current % 3 === 0) {
current++;
continue;
}
yield current++;
}
}
const gen = range(4, 10);
const result = [...gen];
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:20
JavaScript test | #JavaScript
const num = 10;
const add = () => {
console.log(num + num);
};
(function () {
const num = 5;
add();
})();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:3, false
JavaScript test | #JavaScript
const obj = {};
const sym1 = Symbol('description');
const sym2 = Symbol('description');
obj[sym1] = 'Value 1';
obj[sym2] = 'Value 2';
obj.regularProp = 'Regular';
const allKeys = Object.getOwnPropertySymbols(obj).length + Object.keys(obj).length;
const comparison = sym1 === sym2;
console.log(allKeys + ',' + comparison);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[4, 5, 7, 8, 10]
JavaScript test | #JavaScript
function* range(start, end) {
let current = start;
while (current <= end) {
if (current % 3 === 0) {
current++;
continue;
}
yield current++;
}
}
const gen = range(4, 10);
const result = [...gen];
console.log(result);
Ответ:
❗️Что будет на выходе?
Ответ:0 1 2
JavaScript test | #JavaScript
function delayedLog(item) {
setTimeout(() => {
console.log(item);
}, 1000);
}
for (var i = 0; i < 3; i++) {
delayedLog(i);
}
Ответ:
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
❗️Что будет на выходе:
Ответ:
[0, 5000, '', false, false]
JavaScript test | #JavaScript
const config = {
port: 0,
timeout: null,
retries: '',
cache: false,
debug: undefined
};
const port = config.port ?? 3000;
const timeout = config.timeout ?? 5000;
const retries = config.retries ?? 3;
const cache = config.cache ?? true;
const debug = config.debug ?? false;
console.log([port, timeout, retries, cache, debug]);
Ответ:
❓Что будет на выходе?
Ответ:
30
JavaScript test | #JavaScript
const person = {
name: 'Alice',
age: 25,
city: 'Wonderland'
};
const additionalInfo = {
age: 30,
occupation: 'Explorer'
};
const combined = {
...person,
...additionalInfo
};
console.log(combined.age);
Ответ:
30
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:APPLE + BANANA + ORANGE
JavaScript test | #JavaScript
const inventory = {
items: ['apple', 'banana', 'orange'],
[Symbol.iterator]: function() {
let index = 0;
const items = this.items;
return {
next: function() {
return index < items.length ?
{ value: items[index++].toUpperCase(), done: false } :
{ done: true };
}
};
}
};
const result = [...inventory].join(' + ');
console.log(result);
Ответ:
JavaScript test | #JavaScript