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

Cотрудничество: @energy_c
Download Telegram
📱 File API — работа с файлами в браузере!

Здесь собраны основные методы для выбора, чтения, предпросмотра и сохранения файлов. Эти инструменты используются при создании загрузчиков, предпросмотров изображений и экспорта данных. File API предоставляет набор средств для клиентской обработки файлов.

📣 JS Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍9❤7
Что же выведет консоль?
Anonymous Quiz
25%
A
28%
B
37%
C
10%
D
👍17🔥7❤6
📱 Promise Pool — ограничиваем параллельность!

Promise.all() запускает все задачи одновременно, поэтому при большом числе запросов важно ограничивать параллельность их выполнения.

В этом гайде:
• Реализуем собственный пул промисов с параметром limit;

• Добавим поддержку сохранения порядка выполнения;

• Применим решение для пакетной обработки запросов и фоновых задач.


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

📣 JS Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥7👍5🤝1
Хотите узнать, когда элемент появляется в зоне видимости?

Используйте IntersectionObserver, он срабатывает, когда элемент попадает в viewport:
const observer = new IntersectionObserver(([entry]) => {
if (entry.isIntersecting) console.log('👀 Элемент виден');
});


Достаточно подключить наблюдение:
observer.observe(document.querySelector('#target'));


Теперь при появлении блока на экране в консоль выведется сообщение.

Можно остановить наблюдение, когда элемент уже показан:
observer.unobserve(document.querySelector('#target'));


🔥 IntersectionObserver работает асинхронно и не блокирует основной поток.

📣 JS Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥9🤝6
📱 Строим мини-аналитику автопарка!

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

В этой задаче:
• Используем классы и шаблонные строки для генерации данных;

• Применяем Map для группировки по регионам;

• Считаем средний год и возраст машин с помощью reduce и сортировки.


Эта задача показывает, как из набора простых данных получить структурированный аналитический отчёт буквально в несколько строк кода.

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥9❤7
👍18😁11🔥7❤2👎1
4 способа форматировать дату в JavaScript!

Работая с интерфейсами, часто нужно красиво вывести дату — например, "2025-11-14" превратить в "14 ноября 2025" или "14 Nov 2025".

1. Через toLocaleDateString() — локализованный формат:
const date = new Date('2025-11-14T00:00:00Z');
console.log(date.toLocaleDateString('ru-RU', {
day: 'numeric',
month: 'long',
year: 'numeric',
timeZone: 'Europe/Moscow'
}));
// "14 ноября 2025 г."


2. Через Intl.DateTimeFormat() — для повторного использования:
const date = new Date('2025-11-14T00:00:00Z');
const fmt = new Intl.DateTimeFormat('en-GB', {
day: '2-digit',
month: 'short',
year: 'numeric',
timeZone: 'UTC'
});
console.log(fmt.format(date));
// "14 Nov 2025"


3. Вручную — через методы Date:
const months = [
'января', 'февраля', 'марта', 'апреля', 'мая', 'июня',
'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'
];
const date = new Date('2025-11-14T00:00:00Z');
const formatted = `${date.getUTCDate()} ${months[date.getUTCMonth()]} ${date.getUTCFullYear()}`;
console.log(formatted);
// "14 ноября 2025"


4. Через библиотеки dayjs или date-fns

dayjs:
import dayjs from "dayjs";
import "dayjs/locale/ru";
dayjs.locale("ru");

console.log(dayjs("2025-11-14").format("D MMMM YYYY"));
// "14 ноября 2025"


date-fns:
import { format, parse } from "date-fns";
import { ru } from "date-fns/locale";

const date = parse("2025-11-14", "yyyy-MM-dd", new Date());
console.log(format(date, "d MMMM yyyy", { locale: ru }));
// "14 ноября 2025"


🔥 Эти способы покрывают почти все задачи — от простых форматирований до продвинутых UI с локализацией.

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