JavaScript test
9.82K subscribers
3.06K photos
11 videos
4.66K links
Проверка своих знаний по языку JavaScript.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3KHeYk
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Всем программистам посвящается!

Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:

Выбирай своё направление:

👩‍💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
👩‍💻 IT Новости — t.me/it_ready
🤖 AI & ML t.me/neuro_ready
👩‍💻 Frontend — t.me/frontend_ready
👩‍💻 C/C++ — https://t.me/cpp_ready
👩‍💻 C# & Unity — t.me/csharp_ready
👩‍💻 Linux — t.me/linux_ready
👩‍💻 Java — t.me/java_ready
📖 IT Книги — t.me/books_ready
📱 JavaScript — t.me/javascript_ready
🖼️ DevOpst.me/devops_ready
🖥 Design —t.me/design_ready

📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

class LightMachine {
constructor() {
this.states = {
green: { next: 'yellow' },
yellow: { next: 'red' },
red: { next: 'green' }
};
this.currentState = 'green';
}

transition() {
this.currentState = this.states[this.currentState].next;
return this.currentState;
}
}

const lightMachine = new LightMachine();
let result = '';
for (let i = 0; i < 5; i++) {
result += lightMachine.transition() + ' ';
}
console.log(result.trim());

Ответ: yellow red green yellow red


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

function foo() {
return typeof arguments;
};
console.log(foo(1, 2, 3));

Ответ: object


JavaScript test | #JavaScript & Max
📣USB-концентратор

Цена: ~2300₽
Рейтинг: 4.8😀
Отзывы: 2.774 💬

🖱 Заказать

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

#usb #концентратор

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

let symbol1 = Symbol('description');
let symbol2 = Symbol('description');

const obj = {
[symbol1]: 'value1',
[symbol2]: 'value2'
};

console.log(obj[symbol1]);
console.log(symbol1 === symbol2);

Ответ:
'value1' false


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

class Logger {
constructor(prefix) {
this.prefix = prefix;
}
log(message) {
console.log(`${this.prefix}: ${message}`);
}
}

class Database {
constructor(logger) {
this.logger = logger;
}
save(data) {
this.logger.log(`Saving ${data}`);
return `${data}_saved`;
}
}

const logger = new Logger('DB');
const db = new Database(logger);
const result = db.save('user');
console.log(result);

Ответ: DB: Saving user user_saved


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

function processData() {
const results = [];

for (let i = 0; i < 3; i++) {
const multiplier = i + 1;

setTimeout(() => {
results.push(i * multiplier);
}, 0);
}

setTimeout(() => {
console.log(results.join(','));
}, 10);
}

processData();

Ответ: 0,2,6

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

const obj = {
data: ['x', 'y', 'z'],
*[Symbol.iterator]() {
for (let i = this.data.length - 1; i >= 0; i--) {
yield this.data[i].toUpperCase();
}
}
};

const result = [];
for (const item of obj) {
result.push(item);
if (result.length === 2) break;
}

console.log(result.join('-'));

Ответ: Z-Y

JavaScript test | #JavaScript & Max
Уже очевидно, что ВАЙБКОДИНГ — главный навык ближайших лет

Посмотрите сами. ИИ уже забирает на себя работу целых команд: пишет код, закрывает задачи джунов и позволяет стартапам запускать продукты в 2–3 раза меньшим составом. То, на что раньше нужны были несколько разработчиков, сегодня всё чаще делает один человек с ИИ-агентами.

И это только начало. Те, кто освоит вайбкодинг сейчас, смогут быстрее запускать проекты, автоматизировать огромный объём работы, увереннее конкурировать на рынке и зарабатывать больше тех, кто продолжает делать всё вручную.

Начать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы.

Подписывайтесь, нас уже 59 тысяч: @vibecoding_tg
❗️Что будет на выходе:

const wm = new WeakMap();
let obj1 = { name: 'John' };
let obj2 = { name: 'Jane' };

wm.set(obj1, 'developer');
wm.set(obj2, 'designer');

console.log(wm.get(obj1));
console.log(wm.has(obj2));

obj1 = null;
console.log(wm.get(obj1));

const normalObj = {};
try {
wm.set('string', 'value');
} catch (e) {
console.log('error');

}

Ответ: developer true undefined error


JavaScript test | #JavaScript & Max
АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ

Проект «Terminal» стал крупнейшей библиотекой бесплатного образования. В одном канале собраны курсы, книги, полезные инструменты и практические тренажёры для всех разработчиков:

• Практические курсы и задания
• Книги и статьи известных авторов
• Полезные инструменты и ресурсы
• IT-новости и инсайды

Обучение по всем направлениям: SQL, Python, ML, Frontend, PHP, C++, Go, Git, Linux, QA, Java, Vibe-coding, InfoSec и др.

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

const cache = new Map();

function createHandler(id) {
const data = { id, value: new Array(1000).fill(id) };
cache.set(id, data);

return function(action) {
if (action === 'get') return data;
if (action === 'clear') cache.delete(id);
};
}

const handler1 = createHandler('user-1');
const handler2 = createHandler('user-2');

handler1('clear');
console.log(cache.size);
console.log(handler1('get').id);

Ответ: 1, user-1

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

const obj = {
data: ['x', 'y', 'z'],
*[Symbol.iterator]() {
for (let i = this.data.length - 1; i >= 0; i--) {
yield this.data[i].toUpperCase();
}
}
};

const result = [];
for (const item of obj) {
result.push(item);
if (result.length === 2) break;
}

console.log(result.join('-'));

Ответ: Z-Y

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

async function processData() {
const promise1 = Promise.resolve('first');
const promise2 = Promise.reject('error');
const promise3 = Promise.resolve('third');

try {
const result = await Promise.allSettled([promise1, promise2, promise3]);
console.log(result[0].status);
console.log(result[1].reason);
console.log(result[2].value);
} catch (error) {
console.log('caught:', error);
}
}

processData();

Ответ: fulfilled error third

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

function Vehicle(wheels) {
this.wheels = wheels;
}

Vehicle.prototype.getWheels = function() {
return this.wheels;
};

function Car() {
Vehicle.call(this, 4);
this.doors = 4;
}

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

const myCar = new Car();
console.log(myCar.getWheels(), myCar instanceof Vehicle);

Ответ: 4 true

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

function foo() {
return typeof arguments;
};
console.log(foo(1, 2, 3));

Ответ: object


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

let symbol1 = Symbol('description');
let symbol2 = Symbol('description');

const obj = {
[symbol1]: 'value1',
[symbol2]: 'value2'
};

console.log(obj[symbol1]);
console.log(symbol1 === symbol2);

Ответ:
'value1' false


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

class Calculator {
constructor(value) {
this.value = value;
}

add(num) {
this.value += num;
return this;
}

multiply(num) {
this.value *= num;
return this;
}
}

const calc = new Calculator(5);
const addMethod = calc.add;
const result = addMethod.call(calc, 3).multiply(2);
console.log(result.value);

Ответ: 16

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

function createCounter() {
let count = 0;
return {
increment: () => ++count,
decrement: () => --count,
get: () => count
};
}

const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
console.log(counter1.get(), counter2.get());
const { increment, get } = counter1;
increment();
console.log(get());

Ответ:
2 1 3


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

const firstArrayData = [ 'JavaScript', 'Universe' ];
const secondArrayData = [ 'JavaScript', 'Universe' ];

console.log(firstArrayData == secondArrayData);
console.log(firstArrayData === secondArrayData);

Ответ: false, false

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

class LightMachine {
constructor() {
this.states = {
green: { next: 'yellow' },
yellow: { next: 'red' },
red: { next: 'green' }
};
this.currentState = 'green';
}

transition() {
this.currentState = this.states[this.currentState].next;
return this.currentState;
}
}

const lightMachine = new LightMachine();
let result = '';
for (let i = 0; i < 5; i++) {
result += lightMachine.transition() + ' ';
}
console.log(result.trim());

Ответ: yellow red green yellow red


JavaScript test | #JavaScript & Max