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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3KHeYk
Download Telegram
❗️Что будет на выходе:
const a = [1,2,3];
const b = a.reverse();
const c = b.reverse();
const d = c.reverse();
const e = [1,2,3];

console.log(a === b, b === c, a === c, d === a, d === b, e === a);


Ответ: true true true true true false

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = {
data: [2, 2, 2],
getData() {
return this.data.map(x => x * 2);
}
};

const newData = obj.getData.bind({ data: ['1', 5, 6] })();
console.log(newData);


Ответ: [ 2, 10, 12 ]

JavaScript test | #JavaScript
function* counter() {
let count = 1;
while (true) {
const reset = yield count++;
if (reset) {
count = 1;
}
}
}

const gen = counter();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next(true).value);
console.log(gen.next().value);


Ответ: 1, 2, 1, 2

JavaScript test | #JavaScript
❗️Что будет на выходе:
const carDetails = {
name: "Ford Mustang",
yearBought: 2005,
getName(){
return this.name
},
isRegistered: true
}

console.log(carDetails);


Ответ: {
name: 'Ford Mustang',
yearBought: 2005,
getName: [Function: getName],
isRegistered: true
}


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


Ответ: ['Alice', undefined, true, undefined]

JavaScript test | #JavaScript
Forwarded from SoftComputers
- Ты плачешь?
- Это по работе.


SoftComputers — свежий канал про самое интересное из мира IT, а так же юмор и новости на эту тему.

Здесь не важно, сколько ты зарабатываешь, только твоё чувство юмора и любовь к IT.

💎 Самое интересное о компьютерах и технологиях в одном месте

💎 Последние новости и тренды мира технологий

💎 Мемы и юмор про тяжёлую жизнь разработчиков, и пр. любителей IT технологий, и всех кто идёт в ногу со временем

Подпишись, больно не будет, будет смешно.

https://t.me/softcomp_hub

Реклама. ИП Логинов Кирилл Сергеевич. ИНН 166020024820. erid: 2W5zFJbKUja
❗️Что будет на выходе:

const person = {
name: "John",
greet: function() {
const getMessage = () => `Hello`;
return getMessage();
}
};

console.log(person.greet(), person.name);


Ответ: 'Hello' 'John'

JavaScript test | #JavaScript
❗️Что будет на выходе:
const original = Object.freeze({ a: [1, 2, 3] });
const copy = { ...original };

copy.a.push(4);

console.log(original.a);
console.log(copy);


Ответ: 4
[ 1, 2, 3, 4 ]
{ a: [ 1, 2, 3, 4 ] }


JavaScript test | #JavaScript
🎥 Первый в мире полнометражный фильм, полностью созданный ИИ
по поэме Виктора Слипенчука — “Чингис-Хан”
🔗 Смотреть трейлер

🧠 Проект реализован в новом продюсерском центре ZEPHYR NEYRO — запуском занимается Кирилл Калашников, первый продюсер Литл Биг, ВладА4, Джарахова, Ивана Гая, Марьяны Ро и других топовых блогеров.

За 2 месяца команда из:

10 промпт-инженеров
2 ЛОР-специалистов
1 режиссёра
1 монтажёра
и стека из 5 нейросетей — собрала 1 час 1 минуту полноценного кино.


📅 Через 3 дня — релиз первой части.
Подписывайся, чтобы быть в числе первых, кто увидит, как ИИ ломает старую систему:
👉 Зефир Нейро
❗️Что будет на выходе:
function Vehicle(type) {
this.type = type;
}

Vehicle.prototype.getType = function() {
return this.type;
};

function Car(make) {
this.make = make;
}

Car.prototype = Object.create(Vehicle.prototype);
Car.prototype.constructor = Car;

const myCar = new Car('Tesla');
myCar.type = 'electric';

console.log(myCar.getType(), myCar instanceof Vehicle, myCar.constructor.name);


Ответ: electric true Car

JavaScript test | #JavaScript
❗️Что будет на выходе:
const weakMap = new WeakMap();
const arr = [1, 2, 4, 8];
const objs = arr.map(n => ({ n }));

objs.forEach((obj, index) => weakMap.set(obj, arr.slice(0, index + 2)));

const result = objs.map(obj => weakMap.get(obj).reduce((acc, num) => acc + num, 0));

console.log(result);


Ответ: [ 3, 7, 15, 15 ]

JavaScript test | #JavaScript
❗️Что будет на выходе:
console.log(3 + 7 % 4);


Ответ: 6

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
❗️Что будет на выходе:
const target = { a: 1, b: 2 };
const handler = {
get(obj, prop) {
return prop in obj ? obj[prop] * 2 : 'Not found';
}
};

const proxy = new Proxy(target, handler);

// Add a property to the original target
target.c = 3;

// Attempt to access properties through proxy and Reflect
console.log([
proxy.a,
proxy.z,
Reflect.get(target, 'b'),
Reflect.get(proxy, 'c')
]);


Ответ: [2, 'Not found', 2, 6]

JavaScript test | #JavaScript
❗️Что будет на выходе:
type User = {
id: number;
name: string;
role?: 'admin' | 'user';
};

function processUser(user: Partial<User>): string {
const defaultUser: User = {
id: 0,
name: 'Guest',
role: 'user'
};

const mergedUser = { ...defaultUser, ...user };

if (mergedUser.role === 'admin') {
return `Admin: ${mergedUser.name}`;
}

return `User: ${mergedUser.name} (ID: ${mergedUser.id})`;
}

console.log(processUser({ name: 'John', role: 'admin' }));


Ответ: Admin: John

JavaScript test | #JavaScript
❗️Что будет на выходе:
const secretKey = Symbol('key');
const secretValue = 'value';

function Store() {
this[secretKey] = secretValue;
}

Store.prototype.get = function(key) {
return this[key];
};

const store = new Store();
const revealed = store.get(secretKey);
console.log(revealed);


Ответ: 'value'

JavaScript test | #JavaScript
❗️Что будет на выходе:
function processConfig(config) {
const cache = config.cache ?? true;
const timeout = config.timeout ?? 1000;
const retries = config.retries ?? 3;

return {
useCache: cache,
timeoutMs: timeout,
maxRetries: retries
};
}

const result = processConfig({ timeout: 0, retries: false });
console.log(result);


Ответ: { useCache: true, timeoutMs: 0, maxRetries: false }

JavaScript test | #JavaScript
❗️Что будет на выходе:
function Foo() {
this.bar = 1;
}

Foo.prototype.bar = 2;

const foo = new Foo();
console.log(foo);


Ответ: 2
Foo { bar: 1 }


JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = {
value: 42,
getValue() {
return Math.max(this.value, obj.getValue);
}
};

const obj2 = {
value: 25,
getValue: obj.getValue
};

console.log(obj.getValue());
console.log(obj2.getValue());


Ответ: NaN
NaN


JavaScript test | #JavaScript
❗️Что будет на выходе:
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