Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.9K subscribers
2.64K photos
180 videos
39 files
5.02K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
🦾 ESLint vs Biome: что выберете вы

Два инструмента, одна цель — чистый и красивый код. Но подходы — кардинально разные 👇

ℹ️ ESLint

— Проверенный временем стандарт
— Тысячи плагинов и правил
— Гибкая конфигурация на JS/TS
— Работает в любой экосистеме

ℹ️ Biome

— Новый формат линтинга и форматирования «в одном»
— Написан на Rust — летает даже в монорепах
— Умное кеширование и мгновенный запуск
— Простая миграция с ESLint + Prettier

Голосуем реакциями:

👍 — ESLint
❤️ — Biome

🐸 Библиотека фронтендера

#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
35👍16
🌗 Автоматическая темная тема без медиазапросов

Вместо @media (prefers-color-scheme) можно использовать color-scheme:


:root {
color-scheme: light dark;
background: light-dark(#fff, #111);
color: light-dark(#111, #fff);
}


Что это дает:

— Автоматическое переключение темы по системным настройкам
— Скроллбары, инпуты и формы тоже меняют стиль
— Меньше кода и больше нативности

⚙️ Поддержка: Chrome 120+, Safari 17+, Firefox 120+

🐸 Библиотека фронтендера

#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥124👍2
🧭 Разбираем замыкания в JavaScript

Одно из самых частых собеседований вопросов: что такое замыкание. Звучит просто, но за этим стоит ключ к пониманию контекста и памяти в JS.

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

🐸 Библиотека фронтендера

#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6🥰2🔥1
🧩 Задача на область видимости

При запуске кода в консоли — ReferenceError.

Почему, если ветка `if (false)` даже не выполняется:

❤️ — Переменная a находится во временной мёртвой зоне (TDZ)

🔥let внутри блока не создаёт TDZ

⚡️ — Ошибка синтаксиса при объявлении

🐸 Библиотека фронтендера

#code_challenge #js
Please open Telegram to view this post
VIEW IN TELEGRAM
102🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
В proglib.academy — Глобальная распродажа знаний ‼️

💥 Весь октябрь –40% на те курсы, которые выбирают чаще всего.

Курсы с практикой, без воды и пафоса.
Просто берёшь и делаешь апгрейд.


👉 Успей забрать свой курс на proglib.academy
😁6🥱1
🔥 Суммирование с reduce

🏮 В примере на каждый шаг reduce создаётся новый объект (...acc)

🏮 Это значит — новая аллокация памяти и дополнительная нагрузка на GC, особенно при больших массивах

🏮 Оптимальнее использовать императивный цикл for...of, который изменяет объект напрямую — быстрее и проще читается

🎈 Рекомендации:

— Не злоупотребляйте reduce, если нужно просто накопить значения

— Для больших данных используйте явный цикл — он понятнее и быстрее

— Чистый код — это не в одну строку, а читаемый и оптимальный

🐸 Библиотека фронтендера

#hotfix #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
🖕 Утечки памяти в JS: тихий саботаж твоего фронта

Страница вроде простая, но со временем начинает тормозить, а Chrome показывает +1 ГБ к потреблению памяти.
Знакомо? 😏

🔤 Мы собрали 3 карточки, чтобы напомнить, где чаще всего течёт память и как это поймать в DevTools, пока вкладка не превратилась в обогреватель.

🐸 Библиотека фронтендера

#under_hood #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🥰3🔥2
🤓 Пока Python стал π-thon, ты можешь стать Data Scientist'ом

В Proglib.academy стартует экспресс-курс «Математика для Data Science»: 10 живых вебинаров, практика на Python и спикеры из ВШЭ, Яндекс Практикума и Wildberries, которые всё разложат по полочкам.

В программе:
🔹 матан, линал, теория вероятностей;
🔹 3 практических проекта + викторина с розыгрышем TG Premium;
🔹 поддержка преподавателей и чат с единомышленниками;

🎁 Оплати курс до 19 октября — получи курс по базовой математике в подарок.
🗓️ Старт — 6 ноября

👉 Записаться на курс
🥰3👍2
🔗 Разбор: временная мёртвая зона

Раннее мы выкладывали задачу 📎

Правильный ответ: переменная `a` находится во временной мёртвой зоне (TDZ)

🔛 Что происходит:

JS делит выполнение на две фазы:

1. Инициализация (создание окружения) — компилятор видит let a = 2 внутри функции и создаёт для неё локальную переменную a.

2. Выполнение — когда доходит до console.log(a), движок уже знает о локальной a, но она ещё не инициализирована.

⚠️ Поэтому обращение к ней до строки let a = 2 вызывает ReferenceError, даже если код в if не выполнится.

❗️ Это и есть Temporal Dead Zone (TDZ) — период между созданием переменной и её инициализацией, когда доступ к ней невозможен.

🐸 Библиотека фронтендера

#code_challenge #js
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥4👍1