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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3KHeYk
Download Telegram
👩‍💻 Хватит учить только синтаксис, начинай делать реальные проекты!

Python Ready — авторский канал, где Python перестаёт быть только теорией и становится рабочим инструментом. Мини-проекты, боты, советы, разборы задач, гайды и шпаргалки для каждого программиста.

🔥 Советую подписаться: @python_ready
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

console.log(1);

setTimeout(() => {
console.log(2);
}, 100);

setTimeout(() => {
console.log(3);
}, 0);

Promise.resolve().then(() => {
console.log(4);
}).then(() => {
console.log(5);
});

console.log(6);

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

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

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

const result = data.reduce((acc, val) => acc.concat(Array.from({ length: val }, (_, index) => val + index)), []);

console.log(result);

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

JavaScript test | #JavaScript & Max
Возвращение легенды: самый востребованный практикум Зерокодера по Claude Code снова пройдёт в августе.

CEO университета Зерокодер Кирилл Пшинник проведёт ещё один бесплатный онлайн-практикум, где в прямом эфире покажет, почему вокруг Claude Code столько шума и как использовать его на полную мощность.

На практикуме разберут:

• Как получить доступ к Claude Code из России и начать работать без ограничений;
• Как запускать сразу несколько ИИ-агентов для одного проекта;
• Как за 15 минут собрать рабочий сайт практически без ручного кода;
• Как автоматизировать аналитику и рутинные задачи без дополнительных сервисов;

Бонус: в конце практикума расскажем, как пользоваться Claude Code бесплатно и оформить виртуальную карту для оплаты других AI-сервисов

P.S. Это специальный повтор одного из самых популярных практикумов Зерокодера по Claude Code. Жмите на ссылку и успевайте зарегистрироваться!
❗️Что будет на выходе:

const compose = (...fns) => (x) => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => (x) => fns.reduce((acc, fn) => fn(acc), x);

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

console.log(transform1(input));
console.log(transform2(input));
console.log(transform1(input) === transform2(input));

Ответ: -256 -256 true

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

const inventory = {
items: ['apple', 'banana', 'orange'],
[Symbol.iterator]: function() {
let index = 0;
const items = this.items;

return {
next: function() {
return index < items.length ?
{ value: items[index++].toUpperCase(), done: false } :
{ done: true };
}
};
}
};

const result = [...inventory].join(' + ');
console.log(result);

Ответ: APPLE + BANANA + ORANGE

JavaScript test | #JavaScript & Max
Можно ли собрать полезный рабочий инструмент с ИИ за один вечер?
Проверим на первой бесплатной лаборатории вайб-кодинга от Зерокодера

Не будем тратить эфир на теорию и бесконечные промпты. Возьмем 100 реальных отзывов клиентов и прямо на глазах соберем приложение, которое само их проанализирует.

Но главное – формат самой лаборатории.

Это не запись заранее подготовленного кейса и не лекция, где эксперт показывает идеальный результат. Задачу собираем прямо в Zoom: от постановки до готового инструмента. Во время занятия можно задавать вопросы ведущему и разбираться с процессом вместе.

В итоге получается реальный продукт, который можно использовать для конкурентного анализа, поиска идей и улучшения своих продуктов или адаптировать под задачи клиентов и продавать как готовое решение.

И это только первая задача. Каждую неделю – новый кейс и новый инструмент: приложения, дашборды, автоматизации и AI-помощники.

Забрать первое участие в лаборатории бесплатнопо ссылке
Забрать подписки на сервисы можно на ggsel ⚾️

На сайте собраны подписки на YT Premium, Spotify, нейронки и другой софт ☕️

Иностранные карты для оплаты не потребуются — на ggsel все безопасно оплачивается с обычных карт российских банков 🫰
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

const cache = new WeakMap();

function expensiveOperation(obj) {
if (cache.has(obj)) {
console.log('Cache hit!');
return cache.get(obj);
}

console.log('Computing result...');
const result = obj.value * 2;
cache.set(obj, result);
return result;
}

const user = { value: 42 };
expensiveOperation(user);
expensiveOperation(user);
expensiveOperation({ value: 42 });

Ответ: Computing result... Cache hit! Computing result...

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

const str = "a 1 b 2 c 3 d 04";

function foo(str) {
const regex = /\d+/g;
const matches = str.match(regex);
return matches.lenght;
}

Ответ: 4

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

const config = {
port: 0,
timeout: null,
retries: '',
cache: false,
debug: undefined
};

const port = config.port ?? 3000;
const timeout = config.timeout ?? 5000;
const retries = config.retries ?? 3;
const cache = config.cache ?? true;
const debug = config.debug ?? false;

console.log([port, timeout, retries, cache, debug]);

Ответ:
[0, 5000, '', false, false]


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

var obj = {
a: 10,
b: 20
};

with (obj) {
var result = a + b;
}

console.log(result);

Ответ:
30


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

const cache = new WeakMap();

function expensiveOperation(obj) {
if (cache.has(obj)) {
console.log('Cache hit!');
return cache.get(obj);
}

console.log('Computing result...');
const result = obj.value * 2;
cache.set(obj, result);
return result;
}

const user = { value: 42 };
expensiveOperation(user);
expensiveOperation(user);
expensiveOperation({ value: 42 });

Ответ: Computing result... Cache hit! Computing result...

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

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

var obj = {
a: 10,
b: 20
};

with (obj) {
var result = a + b;
}

console.log(result);

Ответ:
30


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

'use strict';

function strictModeExample() {
undeclaredVariable = 10;
try {
console.log(undeclaredVariable);
} catch (e) {
console.log('Error:', e.message);
}
}

strictModeExample();

Ответ:
Error: undeclaredVariable is nit defined


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

const sym1 = Symbol('description');
const sym2 = Symbol('description');

const obj = {
[sym1]: 'value1',
[sym2]: 'value2'
};

console.log(obj[sym1]);

Ответ:
'value1'

JavaScript test | #JavaScript & Max