JavaScript test
9.73K subscribers
3.07K photos
14 videos
4.72K links
Проверка своих знаний по языку JavaScript.

Ссылка: @Portal_v_IT

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

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

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

let obj = { a: 1 };
let proto = { b: 2 };

Object.setPrototypeOf(obj, proto);

for (let key in obj) {
console.log(key);
}

Ответ: a, b

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

function outer() {
console.log(innerVar);
console.log(typeof innerFunc);

var innerVar = 42;

function innerFunc() {
return innerVar;
}

let anotherVar = 100;
console.log(typeof anotherVar);
}

outer();

Ответ: undefined 'function' 'number'

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

const promise1 = Promise.resolve('first');
const promise2 = new Promise(resolve => {
resolve('second');
});

const promise3 = Promise.resolve().then(() => 'third');

async function test() {
console.log('start');

const result1 = await promise1;
console.log(result1);

const result2 = await promise2;
console.log(result2);

const result3 = await promise3;
console.log(result3);

console.log('end');
}

test();

Ответ: start first second third end

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

const userInput = "<script>alert('xss')</script>";
const sanitized = userInput.replace(/<script[^>]*>.*?<\/script>/gi, '');

const users = new Map();
users.set('admin', { password: 'secret123', role: 'admin' });
users.set('guest', { password: 'guest', role: 'user' });

function authenticate(username, password) {
const user = users.get(username);
return user && user.password === password ? user.role : null;
}

const role1 = authenticate('admin', 'secret123');
const role2 = authenticate('guest', 'wrong');
const role3 = authenticate('hacker', 'secret123');

console.log(sanitized);
console.log(role1, role2, role3);

Ответ: admin null null

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

const original = {
name: 'Sarah',
scores: [85, 92, 78],
details: {
age: 25,
city: 'Portland'
}
};

const copy1 = { ...original };
const copy2 = JSON.parse(JSON.stringify(original));

copy1.name = 'Emma';
copy1.scores.push(95);
copy1.details.age = 30;

console.log(original.name, original.scores.length, original.details.age);

Ответ: Sarah 4 30

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

const obj = { length: 3 };
console.log(Object.keys(obj).length);

Ответ: 1

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

function* generator1() {
yield 1;
yield 2;
}

function* generator2() {
yield* generator1();
yield 3;
}

const gen = generator2();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);

Ответ: 1, 2, 3

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

const promise1 = Promise.resolve('first');
const promise2 = new Promise(resolve => {
resolve('second');
});

const promise3 = Promise.resolve().then(() => 'third');

async function test() {
console.log('start');

const result1 = await promise1;
console.log(result1);

const result2 = await promise2;
console.log(result2);

const result3 = await promise3;
console.log(result3);

console.log('end');
}

test();

Ответ: start first second third end

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

function Foo() {
this.bar = 1;
}

Foo.prototype.bar = 2;

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

Ответ: 1

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

function* gen() {
yield 1;
yield 2;
yield 3;
}

async function asyncFunc() {
for (let value of gen()) {
await new Promise(res => setTimeout(res, 100));
console.log(value);
}
return 'done';
}

const result = asyncFunc();
console.log(result instanceof Promise);

Ответ: true 1 2 3

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

const asyncFunction = async () => {
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

const result = await Promise.race([delay(100), delay(500)]);
return result;
};

asyncFunction().then(value => console.log(value));

Ответ: undefined

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

const string = "“abc123def456ghi789";

const matches =
string.match(/\d+/g);
console. log(matches );

Ответ: ["123", "456", "789"]

JavaScript test | #JavaScript & Max
📣 Подушка ортопедическая для сидения на стул с эффектом памяти

Цена: ~1000 руб. (без скидки 4900 руб.)
Доставка: бесплатная

🖱 Заказать

Ортопедическая подушка La fete является отличным средством улучшения качества жизни. Она изготовлена из плотного материала пенополиуретан с эффектом памяти.

Подушка поддерживает правильную позицию тела и уменьшает нагрузку на суставы.

#подушка #кресло

Больше полезных товаров в Находки Программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

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

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

const multiply = (x) => (y) => x * y;
const add = (x) => (y) => x + y;
const square = (x) => x * x;

const transform = pipeline(
multiply(2),
add(3),
square
);

const result = numbers.map(transform);
console.log(result);

Ответ: [25, 49, 81, 121, 169]

JavaScript test | #JavaScript & Max
Пропустили Claud Mythos?

Если вы обнаружили, что пропустили самую сильную модель, когда доступ к ней уже закрыли, — этот пост для вас.

Модель пробыла открытой всего 3 дня, пока в пятницу её экстренно не отключили. Я проверил ее на нескольких задачах:
✅написание пет-проекта с нуля
✅генерация текстов
✅агентский режим


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

Задача была простой: выкинуть «каналы-пустышки», которые просто копируют друг у друга новости, и оставить только авторов с прикладным опытом.

Claude оставил экспертов, которые делятся практикой внедрения ИИ, вайб-кодингом, нейрогеренерацией и автоматизацией.

Итоговый список я объединил в одну подборку. Советую подписаться на авторов, уверен, каждый найдет для себя подходящие каналы.

Подписка в 1 клик:
https://t.me/addlist/ZV5_1nDAnqI3Zjhi
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

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

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

const multiply = (x) => (y) => x * y;
const add = (x) => (y) => x + y;
const square = (x) => x * x;

const transform = pipeline(
multiply(2),
add(3),
square
);

const result = numbers.map(transform);
console.log(result);

Ответ: [25, 49, 81, 121, 169]

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

class Calculator {
static multiply(a, b) {
return a * b;
}

static add = (a, b) => {
return a + b;
}
}

class ScientificCalculator extends Calculator {
static multiply(a, b) {
return super.multiply(a, b) * 2;
}
}

console.log(Calculator.multiply(3, 4));
console.log(ScientificCalculator.add(5, 6));
console.log(ScientificCalculator.multiply(2, 3));

Ответ: Hello, Satah

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

class CustomError extends Error {
constructor(message) {
super(message);
this.name = 'CustomError';
}
}

try {
try {
throw new CustomError('inner error');
} catch (e) {
console.log(e.name);
throw new Error('outer error');
}
} catch (e) {
console.log(e.message);
console.log(e instanceof CustomError);
}

Ответ: CustomError outer false

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

class Calculator {
static multiply(a, b) {
return a * b;
}

static add = (a, b) => {
return a + b;
}
}

class ScientificCalculator extends Calculator {
static multiply(a, b) {
return super.multiply(a, b) * 2;
}
}

console.log(Calculator.multiply(3, 4));
console.log(ScientificCalculator.add(5, 6));
console.log(ScientificCalculator.multiply(2, 3));

Ответ: Hello, Satah

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

const obj = {
name: 'Sarah',
regularMethod: function() {
return () => {
console.log(this.name);
};
},
arrowMethod: () => {
return () => {
console.log(this.name);
};
}
};

const regular = obj.regularMethod();
const arrow = obj.arrowMethod();
regular();
arrow();

Ответ: Sarah, undefined

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

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

const result = numbers
.map(x => x * 2)
.filter(x => x > 5)
.reduce((acc, x) => {
acc.push(x.toString());
return acc;
}, [])
.map(x => x + '!')
.join(' | ');

console.log(result);
console.log(typeof result);

Ответ: 6! | 8! | 10! string

JavaScript test | #JavaScript & Max