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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3KHeYk
Download Telegram
❗️Что будет на выходе:
function processInput(userInput) {
const defaultValue = 'default';
const value1 = userInput?.value ?? defaultValue;
const value2 = userInput?.value || defaultValue;

const result = {
a: 0 ?? 'zero',
b: '' ?? 'empty',
c: null ?? 'null',
d: undefined ?? 'undefined',
comparison: value1 === value2
};

console.log(result);
}

processInput({ value: '' });


Ответ: { a: 0, b: '', c: 'null', d: 'undefined', comparsion: false}

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
[ 3, 15, 27 ]

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = { a: 2, b: 4, c: 6 };
const result = Object.values(obj).filter((acc, curr) => acc * curr, 2);
console.log(result);


Ответ: [ 4, 6 ]

JavaScript test | #JavaScript
❗️Что будет на выходе:
class ShoppingCart {
constructor() {
if (ShoppingCart.instance) {
return ShoppingCart.instance;
}

this.items = [];
ShoppingCart.instance = this;
}

addItem(item) {
this.items.push(item);
}

getItems() {
return [...this.items];
}
}

const cart1 = new ShoppingCart();
const cart2 = new ShoppingCart();

cart1.addItem('Book');
cart2.addItem('Laptop');

console.log(cart1.getItems());


Ответ: ['Book', 'Laptop']

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

const numbers = [1, 2, 3, 4, 5];function recursiveMaxSubarraySum(nums, startIndex = 0, currentSum = 0, maxSum = -Infinity) {
if (startIndex === nums.length) {
return maxSum;
}

currentSum = Math.max(nums[startIndex], currentSum + nums[startIndex]);
maxSum = Math.max(currentSum, maxSum);

return recursiveMaxSubarraySum(nums, startIndex + 1, currentSum, maxSum);
}

const result = recursiveMaxSubarraySum([-2, 1, -3, 4, -1, 2, 1, -5, 4]);

console.log(result);


Ответ: 6

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

const obj = { a: 1 };
const { b } = obj;
console.log(b);


Ответ: undefined

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

function Device(name) {
this.name = name;
this.isOn = false;
}

Device.prototype.turnOn = function() {
this.isOn = true;
return `${this.name} is now on`;
};

function Smartphone(name, model) {
Device.call(this, name);
this.model = model;
}

Smartphone.prototype = Object.create(Device.prototype);
Smartphone.prototype.constructor = Smartphone;

Smartphone.prototype.turnOn = function() {
const result = Device.prototype.turnOn.call(this);
return `${result} (model: ${this.model})`;
};

const myPhone = new Smartphone('iPhone', '13 Pro');
console.log(myPhone.turnOn());


Ответ: iPhone is now on (model: 13 Pro)

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


Ответ: 4

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

const data = [
{ id: 1, name: 'Alice', age: 17, gender: 'Female' },
{ id: 2, name: 'Bob', age: 30, gender: 'Male' },
{ id: 3, name: 'Charlie', age: 25, gender: 'Female' },
{ id: 4, name: 'David', age: 35, gender: 'Male' },
{ id: 4, name: 'John', age: 31 },
];

const result = data.filter(person => person.gender === 'Male').map(person => person.age).reduce((acc, age) => acc + age, 0);

console.log(result);


Ответ: 65

JavaScript test | #JavaScript
Узнай подходящую тебе карьеру за 5 минут.

Онлайн-школа участник проекта "Сколково" создала уникальный инструмент профориентации, который раскроет ваш потенциал. Простой тест с вариантами ответа, менее чем из 20 вопросов.

В конечный результат вошли только самые востребованные профессии для 2025 года, большинство специальностей из сферы IT и Дизайна, именно в них на сегодня наибольшие доходы.

Переходите по специальной ссылке, получите карьерную консультацию в подарок, и разберите индивидуально ваш комфортный переход в новую профессию.

Реклама. Информация о рекламодателе по ссылкам в посте.
❗️Что будет на выходе?

const obj = {
a: 1,
b: function() {
return () => {
return this.a;
};
},
c: function() {
return function() {
return this.a;
};
}
};

const arrowFunc = obj.b();
const regularFunc = obj.c();

console.log(arrowFunc());
console.log(regularFunc());


Ответ: 1, undefined

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

var arr=[1,2,3,4,5];
console.log(arr.map((prev,curr)=>prev+curr));
console.log(arr.reduce((a,b)=>a+b));
console.log(arr.filter((a,b)=> (a + b) <= 5));


Ответ: [ 1, 3, 5, 7, 9 ]
15
[ 1, 2, 3 ]


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

const secretData = { password: 'abc123' };
const mySet = new WeakSet();
mySet.add(secretData);

delete secretData.password;

const checkAccess = (obj) => {
console.log(mySet.has(obj));
};

checkAccess(secretData);
checkAccess({ password: 'abc123' });


Ответ: true false

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

var a = 0, b = 0, arr = [3, 6, 9, 6, 9, 3];
var data = arr.some((x, i)=>{
a = arr[i];
b = arr[i + 1];
return a + b == 15
})
console.log(data)
console.log(a, b)


Ответ: true
6 9


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

let a = 'a';
let b = 'c';

(function () {
console.log(a);
var a = 'd';
var b = 'e';
console.log(b);
})();

console.log(a);
console.log(b);


Ответ: undefined
'e'
'a'
'c'


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


Ответ: 1 7 3 4 6 5 2

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

function getArr() {
return Array.from(arguments);
}

var data = [4, 5, 6];

const result = getArr(...[1, 2, 3], ...data);

console.log(result);


Ответ: [ 1, 2, 3, 4, 5, 6 ]

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

function getCity(person) {
return person?.address?.city ?? 'Unknown';
}

const data = [
null,
{ name: 'Alice' },
{ name: 'Bob', address: null },
{ name: 'Charlie', address: { street: '123 Main' } },
{ name: 'David', address: { city: 'Boston' } }
];

const cities = data.map(getCity);
console.log(cities);


Ответ: ['Unknown', 'Unknown', 'Unknown', 'Unknown', 'Boston']

JavaScript test | #JavaScript
Мои коллеги из Яндекса создали сильнейшие IT каналы 🔥

Наше кредо — программирование не сложно, просто никто не объяснял нормально.


🐍 Ghostly Python - Разбираем код, автоматизируем рутину, пишем ботов, скрипты и полезные утилиты. Все что нужно для уверенного старта в программировании на Python.

☕️ Easy Java - вскрываем Java изнутри. Все тонкости этого универсального языка в одном канале, врывайся!

😎 IT Syndicate - гигабайты свежего материала по всем направлениям. GameDev, InfoSec, Frontend - и это лишь малая часть..
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе?

const weakMap = new WeakMap();
const array = [{}, {}, {}, [], {"s": 1}];

array.forEach(obj => weakMap.set(obj, obj));
const result = array.map(obj => weakMap.get(obj) == obj);

console.log(result);


Ответ: [ true, true, true, true, true ]

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

const array = [1, 2, 3, [4, [5, [6]]]];
const result = array.flat(3).map(n => n * 3);

console.log(result);


Ответ: [ 3, 6, 9, 12, 15, 18 ]

JavaScript test | #JavaScript