JavaScript test
10.3K subscribers
3.04K photos
6 videos
4.33K links
Проверка своих знаний по языку JavaScript.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/js_test

РКН: clck.ru/3KHeYk
Download Telegram
Что будет на выходе?

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
Что будет на выходе?

var str="example";
var result=str.replace("e","@");
console.log(result);

Ответ:
@xample

JavaScript test | #JavaScript
❗️Что будет на выходе:

const items = new WeakSet();
const obj1 = { id: 1 };
const obj2 = { id: 2 };

items.add(obj1);
items.add(obj2);

obj2.value = 'test';
console.log(items.has(obj2));

obj2 = null;
setTimeout(() => {
console.log(items.has(obj2));
}, 0);

Ответ: true, TypeError

JavaScript test | #JavaScript
Что будет на выходе?

function Person(name) {
this.name = name;
}
Person.prototype.greet = function() {
return `Hello, my name is ${this.name}`;
};
const john = new Person('John');
console.log(john.greet());

Ответ: Hello, my name is John

JavaScript test | #JavaScript
Что будет на выходе?

var arr=[[9,0],[5,3],[2,6],[7,8]];
var result=[];
for (var i=0;i<arr.length;i++)
result=result.concat(arr[i]);
console.log(result.sort());

Ответ:
[
0, 2, 3, 5,
6, 7, 8, 9
]


JavaScript test | #JavaScript
Что будет на выходе?

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObj = { ...obj1, ...obj2 };
console.log(mergedObj);

Ответ:
{ a: 1, b: 3, c: 4 }

JavaScript test | #JavaScript
❗️Что будет на выходе:

function trickyScope() {
let x = 10;
if (true) {
let x = 20;
console.log(x); // A
}
console.log(x); // B
{
let x = 30;
console.log(x); // C
}
console.log(x); // D
}

trickyScope();

Ответ: 20 10 30 10

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
Что будет на выходе?

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
Что будет на выходе?

const compose = (...fns) => fns.reduce((f, g) => (...args) => f(g(...args)));

const pipe = (...fns) => fns.reduce((f, g) => (...args) => g(f(...args)));

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 val = 3;

console.log(transform1(val), transform2(val));

Ответ: -256 -256

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
Что будет на выходе?

const numbers = [1, 2, 3, 4, 5];

const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * num)
.reduce((acc, num) => acc + num, 0);

console.log(result);

Ответ:
20

JavaScript test | #JavaScript
Что будет на выходе?

function capIt(str){
return str.split(/ /)
.map(s=>s.replace(/^./,x=>x.toUpperCase()))
.join(" ")
}
console.log( capIt("hello world!"))
console.log( capIt("my name is John."))

Ответ:
Hello World!
My Name Is John.


JavaScript test | #JavaScript
❗️Что будет на выходе:

const map = new Map();
const key1 = {};
const key2 = key1;

map.set(key1, "Value for key1");
map.set(key2, "Value for key2");

console.log(map.get(key2));
console.log(map.get(key1));

Ответ:
Value for key2
Value for key2


JavaScript test | #JavaScript
❗️Что будет на выходе:


const map = new Map();
const key1 = {};
const key2 = key1;

map.set(key1, "Value for key1");
map.set(key2, "Value for key2");

console.log(map.get(key2));
console.log(map.get(key1));

Ответ:
Orion undefined

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);

Ответ:
true

JavaScript test | #JavaScript
❗️Что будет на выходе:

async function asyncChain() {
const values = [2, 3, 5, 7, 0];
const total = await values.reduce(async (acc, values) => {
const current = await acc;
return current * values;
}, Promise.resolve(1));
return total;
}

asyncChain().then(result => console.log(result));

Ответ: 0

JavaScript test | #JavaScript
❗️Что будет на выходе:

const operations = {
add: (a, b) => a + b,
subtract: (a, b) => a - b,
multiply: (a, b) => a * b,
divide: (a, b) => b !== 0 ? a / b : null,
};

const pipeline = (...fns) => (value) => fns.reduce((acc, fn) => fn(acc), value);

const double = (x) => operations.multiply(x, 2);
const addTen = (x) => operations.add(x, 10);
const halve = (x) => operations.divide(x, 2);
const subtractThree = (x) => operations.subtract(x, 3);

const transform = pipeline(double, addTen, halve, subtractThree);

console.log(transform(5));

Ответ: 7

JavaScript test | #JavaScript
❗️Что будет на выходе:

const numbers = [1, 3, 5, 7, 13];

const result = numbers.reduce((acc, val) => {
acc[val] = val * 2;
return acc;
}, {});

console.log(result);

Ответ: { '1': 2, '3': 6, '5': 10, '7': 14, '13': 26 }

JavaScript test | #JavaScript
❗️Что будет на выходе:

const numbers = [1, 2, 3, 4, 5, 6];

const result = numbers.reduce((acc, num) => {
if (num % 2 === 0) {
acc.even += num;
} else {
acc.odd *= num;
}
return acc;
}, { even: 1, odd: 1 });

console.log(result);

Ответ: { even: 13, odd: 15 }

JavaScript test | #JavaScript
❗️Что будет на выходе:

var i = 5;

const arr = new Array(5);
arr.forEach(() => i++);

console.log(i);

Ответ: 5

JavaScript test | #JavaScript