Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.
Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.
1 607 подписчиков · @frontend_1
К каналу →
📐 Перестаньте верстать под экран: @container Мы привыкли делать адаптив через @media, опираясь на размер экрана. Но это ломает компонентный подход. Представьте карточку товара. Н…
Читать далее →
3 101
🚫 Перестаньте использовать pointer-events: none для блокировки UI Когда вы открываете Side-menu (шторку), показываете лоадер или переключаете шаги в форме, часто нужно «заморозить…
Читать далее →
3 091

🗣 Хватит склеивать массивы через .

🗣 Хватит склеивать массивы через .join(', ')

Каждый фронтендер хотя бы раз писал функцию, которая превращает массив ['A', 'B', 'C'] в строку «A, B и C».

Обычно это выглядит как костыль:

// ❌ Старый, хрупкий способ
const names = ['Alex', 'John', 'Sam'];
const str = names.slice(0, -1).join(', ') + ' и ' + names.at(-1);
// А если массив пустой? А если один элемент? Нужно писать кучу if-ов.

В JavaScript уже давно есть встроенный API для этого - Intl.ListFormat. Он делает то же самое, но правильно и с учетом языковых правил (локали).

✅ Как это делается профессионально:

const tools = ['React', 'Vue', 'Svelte'];

// 1. Создаем форматтер для русского языка
const ruFormatter = new Intl.ListFormat('ru', {
style: 'long', // 'long', 'short', 'narrow'
type: 'conjunction' // 'conjunction' (и), 'disjunction' (или), 'unit' (просто список)
});

console.log(ruFormatter.format(tools));
// "React, Vue и Svelte"

// 2. Меняем локаль на английскую — логика "Oxford comma" работает сама!
const enFormatter = new Intl.ListFormat('en', { style: 'long', type: 'conjunction' });

console.log(enFormatter.format(tools));
// "React, Vue, and Svelte"

🔥 Вариант с «ИЛИ» (disjunction): Идеально для сообщений об ошибках или подсказок.

const orFormatter = new Intl.ListFormat('ru', { type: 'disjunction' });

console.log(orFormatter.format(['строка', 'число']));
// "строка или число"

Почему это круто:

1. Ноль зависимостей. Не нужно тащить i18n-библиотеки ради списков.

2. Умная грамматика. API знает, где ставить запятые, где союзы, и как это делать в китайском, арабском или немецком языках.

3. Обработка края. Корректно работает с пустыми массивами и массивами из одного элемента без лишних проверок.

👉 @frontend_1
🤝 Promise.withResolvers() - конец старого костыля Если вы работали со сложными асинхронными потоками, вам наверняка приходилось «вытаскивать» resolve и reject из конструктора пром…
Читать далее →
3 127
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://m…
Читать далее →
3 175
Другие главы канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 25.07.2026
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 ht…
👁 200 просмотров
Глава от 22.07.2026
🔎 Как "убить" ненужный console.log в проде — элегантно Многие забывают удалять …
👁 400 просмотров
Глава от 22.07.2026
🔥 useDeferredValue: плавный UX без костылей При ререндере сложных компонентов…
👁 388 просмотров
Глава от 21.07.2026
🔥 Трюк с :has() в CSS — как маленький хак улучшает UX Селектор :has() поддерж…
👁 429 просмотров
Глава от 20.07.2026
🎥 Вебинар: Выбор между Serverless и Kubernetes для AI-ворклоадов: как определить…
👁 358 просмотров
Глава от 20.07.2026
🔥 useMemo vs useCallback — не путай! Многие React-разработчики путают useMemo и…
👁 419 просмотров
Глава от 19.07.2026
🔥 Трюк с :has() в CSS: "Родительская магия" Селектор :has() наконец стабильно…
👁 443 просмотров
Глава от 17.07.2026
Совет по HTML 💡 Возможно, ты не знал об этой HTML-сущности для вставки мягких п…
👁 508 просмотров
Глава от 15.07.2026
Совет по JavaScript 💡 Одна строка кода, чтобы определить, есть ли в массиве дуб…
👁 592 просмотров

Популярные посты канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.»

Используйте свойство columns, чтобы разделить статью на отзывчивые колонки 🚀. 👉 @frontend_1
👁 3 283 просмотров
Идеальные заголовки без JS: text-wrap: balance Дизайнеры ненавидят «висячие» слова. Когда длинный заголовок переносится так, что на второй …
👁 3 230 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 175 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 156 просмотров
Почему z-index: 9999 не работает (и как перестать страдать) Знакомая ситуация? У вас есть модалка, которая почему-то перекрывается хедером.…
👁 3 155 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 153 просмотров
any - это ложь, которую вы говорите сами себе Давайте честно: когда у вас горят дедлайны, а TypeScript ругается на несовпадение типов, рука…
👁 3 151 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 150 просмотров
Проект для начинающих на JavaScript – Урок по созданию игры Змейка В этом уроке программирования для начинающих вы научитесь создавать ретр…
👁 3 145 просмотров
Совет по CSS 💡 Легко реализуйте закрепленный заголовок таблицы 🤩 https://www.codewithshripal.com/playground/css/sticky-table-headers 👉 @f…
👁 3 136 просмотров
🧬 Иммутабельность из коробки: toSorted(), toSpliced() и with() Сколько раз вы ловили трудноуловимые баги в React или Redux из-за того, что …
👁 3 136 просмотров
Создааем адаптивный макет панели управления с помощью HTML и CSS 🚀 👉 @frontend_1
👁 3 135 просмотров
🛑 Хватит проверять isMounted в useEffect Вы наверняка видели (или писали) такой код, чтобы избежать ошибки "Can't perform a React state upd…
👁 3 128 просмотров
🤝 Promise.withResolvers() - конец старого костыля Если вы работали со сложными асинхронными потоками, вам наверняка приходилось «вытаскиват…
👁 3 127 просмотров
Cовет💡 Быстрый и простой совет для вложенных радиусов: ваши углы будут выглядеть намного лучше, если вы установите внешний радиус на сумму …
👁 3 124 просмотров
Синхронизация React с API браузера 👉 @frontend_1
👁 3 119 просмотров
Нативный View Transitions API Анимация перехода между страницами (или состояниями приложения) всегда была болью. Чтобы картинка из карточки…
👁 3 110 просмотров
🏗 Забудьте про z-index: 9999: Нативный <dialog> Мы годами писали сложные велосипеды для модальных окон или тянули тяжелые библиотеки. Главн…
👁 3 105 просмотров
Советы по HTML 💡 Знаете ли вы, что с помощью элемента HTML <dialog> можно легко создать модал? 👉 @frontend_1
👁 3 105 просмотров
🧬 Нативные операции с множествами (Set Methods) Классическая задача на собеседовании: «Найди общие элементы в двух массивах». Обычно мы пис…
👁 3 102 просмотров

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@matematik_andrei_channel
Математик Андрей
Основатель онлайн-школы «Точка Знаний» В канале: — короткие видео по темам 1-11 классов — разбор задач ВПР/ОГЭ/ЕГЭ — применение математики в жизни Получить консульта…
👥 347 395 · +15 122/7д
@kotikiobiasnayut
КОТЯТА ПОЯСНЯЮТ
Те самые котята пояснят тебе все что надо - легко и просто Самое большое фан сообщество рубрики «Котята поясняют» - присоединяйся! Владелец - https://iimax.ru/qwertyu…
👥 174 750 · +13 800/7д
@obr_mo
Образование Подмосковья
Новости об образовании в Московской области
👥 82 950 · +126/7д
@Moscow_school
Московское образование
Успех начинается здесь! Приложение «ЗОЖ с МЭШиком» https://max.ru/meshik_app_bot Для СМИ: press-donm@mos.ru Сайт: mosobr.shkolamoskva.ru ВК: https://vk.ru/educationdep…
👥 65 801 · +163/7д
@id110802233432_biz
Школы РФ
Новости школьного образования для детей и родителей # дети школа школьник новости школьное образование гдз егэ огэ дневник впр оценка учителя родители Реклама: https:…
👥 60 361 · +34/7д
@minprosrf
Минпросвещения России
Официальный канал Министерства просвещения России. Всё об образовании для родителей, педагогов и учащихся. Сайт edu.gov.ru ВКонтакте vk.com/minprosvet Однокл
👥 59 392 · +511/7д
🏷 Темы и теги
#обучение фронтенду #веб-разработка #javascript #react #html #css #Образование
📋 О канале Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.
Твой путь в веб-разработку. Основы: HTML5, CSS3, Flexbox, Grid. Адаптивная верстка (Responsive) и макеты из Figma. Глубокий JavaScript (ES6+), DOM и события. Фреймворки: React, Vue.js, Angular. Препроцессоры SCSS и стилизация Tailwind. Работа с Git и GitHub. Как пройти собеседование на Junior Frontend Developer. Задачи, тесты и создание портфолио с нуля.
🔍 Архив всех постов Макс
Поиск по 14,565,699 постам из 202,699 каналов
Подключить за 490 ₽/мес →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.