❗️Что будет на выходе?
Ответ: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
❗️Что будет на выходе?
Ответ:7
JavaScript test | #JavaScript
var b = 10;
let i = 7;
if (b % 3 == 0) {
let i = 10;
}
console.log(i);
Ответ:
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
❓Что будет на выходе?
async function asyncChain() {
const values = [2, 3, 5, 7, 11];
const total = await values.reduce(async (acc, values) => {
const current = await acc;
return current * value;
}, Promise.resolve(1));
return total;
}
asyncChain().then(result => console.log(result));Ответ:
❗️Что будет на выходе?
Ответ:1
undefined
JavaScript test | #JavaScript
console.log(console.log(0 || {a: 3} && 1 || ['hello'] * 2 + 5));Ответ:
undefined
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
❓Что будет на выходе?
const weakMap = new WeakMap();
const obj1 = {};
const obj2 = {};
weakMap.set(obj1, 'value1');
weakMap.set(obj2, 'value2');
const arr = [obj1, obj2];
const result = arr.map(obj => weakMap.get(obj)).join(', ');
console.log(result);
Ответ:
❗️Что будет на выходе?
Ответ:
[ 'javascript' ]
[ 'dog', 'cat' ]
JavaScript test | #JavaScript
var str="javascript coffeescript vbscript javacode"
var re2=/(?=java)\b\w+script\b/g
console.log(str.match(re2))
var str="dog,cat,pig,cow"
var re2=/\b\w+\b(?=,cat|,pig)/g
console.log(str.match(re2))
Ответ:
[ 'javascript' ]
[ 'dog', 'cat' ]
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:
3
9
27
JavaScript test | #JavaScript
const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve(3), 1000);
});
promise
.then(result => {
console.log(result);
return result * 3;
})
.then(result => {
console.log(result);
return new Promise(resolve => setTimeout(() => resolve(result * 3), 1000));
})
.then(result => {
console.log(result);
});Ответ:
9
27
❗️Что будет на выходе:
Ответ:['Alice', undefined, true, undefined]
JavaScript test | #JavaScript
const user = {
profile: {
name: 'Alice',
social: null,
getDetails() {
return { verified: true };
}
}
};
const result = [
user?.profile?.name,
user?.profile?.social?.handle,
user.profile.getDetails?.()?.verified,
user?.nonExistent?.property
];
console.log(result);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:
undefined
JavaScript test | #JavaScript
var a = 1;
function b() {
a = 10;
return;
function a () {}
}
a = b();
console.log(a);
Ответ:
❗️Что будет на выходе:
Ответ:
Diana, Alice, Bob, Charlie
JavaScript test | #JavaScript
const team = {
members: ['Alice', 'Bob', 'Charlie'],
leader: 'Diana',
[Symbol.iterator]: function*() {
yield this.leader;
for(const member of this.members) {
yield member;
}
}
};
let names = [];
for (const person of team) {
names.push(person);
}
console.log(names.join(', '));Ответ:
❗️Что будет на выходе:
Ответ:
Invalid status
JavaScript test | #JavaScript
function processData(data) {
try {
if (!data) {
throw new TypeError('Data is required');
}
if (data.status === 'error') {
throw new Error('Invalid status');
}
return data.value.toUpperCase();
} catch (err) {
if (err instanceof TypeError) {
return 'Type Error';
}
return err.message;
}
}
console.log(processData({ status: 'error', value: 'test' }));Ответ:
❗️Что будет на выходе:
Ответ:
Hello, New
JavaScript test | #JavaScript
const obj = {
name: 'Original',
greet() {
return function() {
console.log(`Hello, ${this.name}`);
};
},
arrowGreet() {
return () => {
console.log(`Hello, ${this.name}`);
};
}
};
const globalThis = { name: 'Global' };
const newObj = { name: 'New' };
const regularFn = obj.greet();
const arrowFn = obj.arrowGreet();
regularFn.call(newObj);Ответ:
❗️Что будет на выходе:
Ответ:
NaN
JavaScript test | #JavaScript
const calculator = {
value: 10,
add: function(x) {
return this.value + x;
},
multiply: function(x) {
return this.value * x;
}
};
const add5 = calculator.add;
const double = calculator.multiply.bind(calculator);
const triple = calculator.multiply.bind({value: 3});
console.log(add5(2) + double(3) + triple(4));Ответ:
❗️Что будет на выходе:
Ответ:
[ 'h', 'e', 'l', 'l', 'o', ' ', 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' ]
JavaScript test | #JavaScript
const str = "hello world";
const [a, b, c, d, e, f] = str;
console.log([...[a, b, c, d, e, f], ...str]);
Ответ:
❗️Что будет на выходе:
Ответ:
[ {} ]
[ 0, 2, 3 ]
JavaScript test | #JavaScript
const weakMap = new WeakMap();
const arr = [{}, {}, {}, []];
arr.forEach((obj, index) => weakMap.set(obj, index));
arr.splice(1, 1);
const result = arr.map(obj => weakMap.get(obj));
console.log(result);
Ответ:
[ 0, 2, 3 ]
❗️Что будет на выходе:
Ответ:
[false, true, 'bigint', true, 1n]
JavaScript test | #JavaScript
const a = 9007199254740991n; // MAX_SAFE_INTEGER as BigInt
const b = 2n;
const c = a + b;
const result = [
a === 9007199254740991,
a + 1n === 9007199254740992n,
typeof c,
c > Number.MAX_SAFE_INTEGER,
BigInt(9007199254740992) - BigInt(9007199254740991)
];
console.log(result);
Ответ: