❓Что будет на выходе?
Ответ:function function 60 84
JavaScript test | #JavaScript
const curry = (fn) => {
const arity = fn.length;
return function curried(...args) {
if (args.length >= arity) {
return fn(...args);
}
return (...moreArgs) => curried(...args, ...moreArgs);
};
};
const volume = (l, w, h) => l * w * h;
const curriedVolume = curry(volume);
const withLength5 = curriedVolume(5);
const withLength5Width3 = withLength5(3);
console.log(typeof withLength5);
console.log(typeof withLength5Width3);
console.log(withLength5Width3(4));
console.log(curriedVolume(2)(6)(7));
Ответ:
JavaScript test | #JavaScript
❓Что будет на выходе?
Ответ:
12
JavaScript test | #JavaScript
const numbers = [1, 2, 3, 4, 5];
const result = numbers
.filter(n => n % 2 === 0)
.map(n => n * 2)
.reduce((acc, n) => acc + n, 0);
console.log(result);
Ответ:
12
JavaScript test | #JavaScript
❓Что будет на выходе?
Ответ:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
JavaScript test | #JavaScript
function recursivePascalTriangle(n, row = [1], triangle = []) {
triangle.push(row);
if (n === triangle.length) {
return triangle;
}
const nextRow = [1];
for (let i = 1; i < row.length; i++) {
nextRow.push(row[i] + row[i - 1]);
}
nextRow.push(1);
return recursivePascalTriangle(n, nextRow, triangle);
}
const result = recursivePascalTriangle(5);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❓Что будет на выходе?
Ответ:
[ 'dogs', 'cats', 'sheeps', 'car', 'bar', 'star' ]
[
'dogs',
index: 0,
input: 'dogs cats sheeps car bar star',
groups: undefined
]
[
'dogs',
's',
index: 0,
input: 'dogs cats sheeps car bar star',
groups: undefined
]
JavaScript test | #JavaScript
var str="dogs cats sheeps car bar star"
var re1=/\b\w+(?:s|ar)\b/g
var re2=/\b\w+(?:s|ar)\b/
var re3=/\b\w+(s|ar)\b/
console.log( str.match(re1) )
console.log( str.match(re2) )
console.log( str.match(re3) )
Ответ:
[ 'dogs', 'cats', 'sheeps', 'car', 'bar', 'star' ]
[
'dogs',
index: 0,
input: 'dogs cats sheeps car bar star',
groups: undefined
]
[
'dogs',
's',
index: 0,
input: 'dogs cats sheeps car bar star',
groups: undefined
]
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:
[ false, true, true ]
JavaScript test | #JavaScript
const arr = [3, 8, 12];
const even = (elem) => elem % 2 === 0;
console.log(arr.map(even));
Ответ:
❓Что будет на выходе?
Ответ:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
JavaScript test | #JavaScript
function recursivePascalTriangle(n, row = [1], triangle = []) {
triangle.push(row);
if (n === triangle.length) {
return triangle;
}
const nextRow = [1];
for (let i = 1; i < row.length; i++) {
nextRow.push(row[i] + row[i - 1]);
}
nextRow.push(1);
return recursivePascalTriangle(n, nextRow, triangle);
}
const result = recursivePascalTriangle(5);
console.log(result);
Ответ:
JavaScript test | #JavaScript
❓Что будет на выходе?
Ответ:
1, 2, 3, undefined
JavaScript test | #JavaScript
function* numberGenerator() {
yield 1;
yield 2;
yield 3;
}
const gen = numberGenerator();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
Ответ:
1, 2, 3, undefined
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[true, false, 'undefined']
JavaScript test | #JavaScript
const companies = [
{ name: 'TechCorp', founded: 2010 },
{ name: 'DataSystems', founded: 2015 },
{ name: 'WebSolutions', founded: 2008 }
];
const activeClients = new WeakSet();
activeClients.add(companies[0]);
activeClients.add(companies[2]);
companies.pop();
const result = [
activeClients.has(companies[0]),
activeClients.has(companies[1]),
typeof activeClients.size
];
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:[2, 4, 6, 10, 11]
JavaScript test | #JavaScript
function* range(start, end) {
while (start < end) {
yield start++;
}
}
function* evens(iter) {
for (const val of iter) {
if (val % 2 === 0) yield val;
}
}
function* take(n, iter) {
let count = 0;
for (const val of iter) {
if (count++ >= n) return;
yield val;
}
}
function* pipeline() {
yield* take(3, evens(range(1, 20)));
yield* take(2, range(10, 15));
}
const result = [...pipeline()];
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'string'
JavaScript test | #JavaScript
function calc(num) {
return num + 0.01 * '0';
}
typeof calc('hello');
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:1, 6, 3, 5, 2, 4
JavaScript test | #JavaScript
function executePromises() {
console.log(1);
setTimeout(() => {
console.log(2);
}, 0);
Promise.resolve().then(() => {
console.log(3);
setTimeout(() => {
console.log(4);
}, 0);
}).then(() => {
console.log(5);
});
console.log(6);
}
executePromises();
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:not configured
JavaScript test | #JavaScript
const user = {
profile: {
name: 'Alice',
settings: {
notifications: {
email: true,
sms: false
}
}
},
getPreference(type) {
return this.profile?.settings?.notifications?.[type] ?? 'not configured';
}
};
const admin = {
profile: {
name: 'Admin',
settings: null
},
getPreference: user.getPreference
};
console.log(admin.getPreference('email'));
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:1 7 3 4 6 5 2
JavaScript test | #JavaScript
async function test() {
console.log('1');
setTimeout(() => {
console.log('2');
}, 0);
await Promise.resolve();
console.log('3');
new Promise(resolve => {
console.log('4');
resolve();
}).then(() => {
console.log('5');
});
console.log('6');
}
test();
console.log('7');
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:visible, undefined, registered, true
JavaScript test | #JavaScript
const obj = {
[Symbol('a')]: 'hidden',
a: 'visible',
[Symbol.for('b')]: 'registered',
b: 123
};
const symbol1 = Symbol.for('b');
const symbol2 = Symbol.for('b');
console.log(obj.a + ', ' +
obj[Symbol('a')] + ', ' +
obj[symbol1] + ', ' +
(symbol1 === symbol2));
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:'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
❗️Что будет на выходе?
Ответ:first second 2 { value: 'done', done: true }
JavaScript test | #JavaScript
function* genSequence() {
const result = yield 'first';
console.log(result);
yield* [1, 2];
return 'done';
}
const gen = genSequence();
let next = gen.next('ignored');
console.log(next.value);
next = gen.next('second');
next = gen.next();
console.log(next.value);
next = gen.next();
console.log(next);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:
true
JavaScript test | #JavaScript
function Animal(name) {
this.name = name;
}
Animal.prototype.speak = function() {
return `${this.name} makes a noise`;
};
function Dog(name) {
Animal.call(this, name);
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function() {
return `${this.name} barks`;
};
const animal = new Animal('Animal');
const dog = new Dog('Rex');
console.log(dog instanceof Animal);
Ответ:
❗️Что будет на выходе:
Ответ:world@ | HELLO
JavaScript test | #JavaScript
const str = " Hello, World! ";
const result = str
.trim()
.split(", ")
.map((word, i) => {
if (i % 2 === 0) return word.toUpperCase();
return word.toLowerCase().replace("!", "@");
})
.reverse()
.join(" | ");
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе?
Ответ:4
JavaScript test | #JavaScript
function outer() {
var x = 2;
function inner() {
let x = 4;
function deeper() {
console.log(x);
}
return deeper;
}
return inner();
}
const fn = outer();
fn();
Ответ:
JavaScript test | #JavaScript
❓Что будет на выходе?
Ответ:
$123,456,789
$123,456
$123,456,789,0
$123,456,7
JavaScript test | #JavaScript & Max
function addCommas(money){
var re=/\d{3}(?!$)/g
return money.replace(re,x=>x+",")
}
console.log( addCommas("$123456789") )
console.log( addCommas("$123456") )
console.log( addCommas("$1234567890") )
console.log( addCommas("$1234567") )
Ответ:
$123,456,789
$123,456
$123,456,789,0
$123,456,7
JavaScript test | #JavaScript & Max