JavaScript Ready | Программирование
8.19K subscribers
989 photos
60 videos
527 links
Авторский канал по разработке на JavaScript.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Cотрудничество: @energy_c
Download Telegram
📱 Мини To-Do список прямо в консоли!

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

В задаче:
• Реализуем хранение задач в массиве.

• Добавим команды add, done и remove.

• Научим выводить список с номерами и статусами.

• Сделаем удобное обновление прямо из консоли.


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

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍8🔥7🤝3
Автоматическая генерация уникальных ID для объектов!

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

Можно сделать универсальный генератор, который гарантирует уникальность и читабельность ID.

Создадим локальный генератор с префиксом:
function createIdGenerator(prefix = "id") {
let counter = 0;
return () => `${prefix}-${++counter}`;
}
const generateUserId = createIdGenerator("user");


Используем для объектов:
const user1 = { id: generateUserId(), name: "Alice" };
const user2 = { id: generateUserId(), name: "Bob" };
console.log(user1, user2); // → {id: "user-1"} {id: "user-2"}


Создадим универсальную функцию для массивов объектов:
function assignIds(items, prefix = "item") {
const gen = createIdGenerator(prefix);
return items.map(item => ({ ...item, id: gen() }));
}


Применение:
const tasks = [{ task: "JS" }, { task: "React" }];
console.log(assignIds(tasks, "task"));
// → [{task:"JS",id:"task-1"}, {task:"React",id:"task-2"}]


🔥 Простое, нативное и масштабируемое решение для генерации уникальных ID в проектах.

📣 JS Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍7❤5🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Слышали, что в VS Code ваши Markdown-таблицы могут выглядеть аккуратными и понятными прямо в исходном коде?

Markdown Table Prettifier — плагин, который автоматически форматирует таблицы в тексте. Очень удобно: сразу видно, как выглядит таблица, без постоянного переключения на превью.

Особенно помогает при написании документации и любых текстов с таблицами — комфортно и быстро.

📣 JS Ready | #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍8🔥5
📱 Управляем асинхронностью!

Асинхронный код позволяет запускать задачи параллельно и не блокировать интерфейс. Сегодня разберём, как с помощью Promise, async/await и Promise.all писать чистый и предсказуемый код.

В этом гайде:
• Создаём и обрабатываем базовые Promise.

• Цепочки .then() и .catch() для работы с результатами и ошибками.

• Async/await - упрощаем чтение асинхронного кода.

• Promise.all — параллельные запросы и управление результатами.


Подойдёт для работы с API, таймерами, потоками данных и любыми асинхронными задачами.

📣 JS Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤7🔥5🤝1
📱 Сегодня создадим консольную игру «Камень, ножницы, бумага»

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

В этом посте:
• Определим набор возможных ходов.

• Сгенерируем выбор компьютера.

• Напишем условия победы, ничьей и поражения.

• Выведем итог с ходами игроков.


Получим готовую мини-игру в консоли, которая отлично тренирует работу с логикой и ветвлениями, а также открывает простор для доработок.

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤8🔥8🤝1
Таймер обратного отсчёта на JS!

Научим JS считать время до события и выводить оставшееся в консоль.

Сначала напишем функцию форматирования:
function formatTime(ms) {
const sec = Math.floor(ms / 1000) % 60;
const min = Math.floor(ms / 60000) % 60;
const hr = Math.floor(ms / 3600000);
return `${hr}ч ${min}м ${sec}с`;
}


Теперь создадим функцию обратного отсчёта:
function countdown(targetTime) {
const tick = () => {
const diff = targetTime - Date.now();
if (diff <= 0) {
clearInterval(interval);
console.log("Время вышло!");
}


Проверяем условие окончания обратного отсчёта:
    else {
console.log(formatTime(diff));
}
};
tick();
const interval = setInterval(tick, 1000);
}

countdown(Date.now() + 10000);


🔥 Это легкий способ создать обратный отсчет для событий и уведомлений!

📣 JS Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🔥7👍6🤝2