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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
🕹 npm install: хитрость фронтендера

Каждый сталкивался с дилеммой: проверять всё или просто вставить команду и надеяться, что заработает?

Проверяем пакет перед установкой

Копируем команду из StackOverflow и надеемся, что заработает

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

👍 — Осторожность
❤️ — Копипаст

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

#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍15
Контейнерные запросы — адаптивность нового уровня

Обычно мы пишем:


@media (min-width: 600px) {
.card { flex-direction: row; }
}

Но что, если карточка живёт в разных местах — и в сайдбаре, и в сетке?
Глобальный @media ломает вёрстку.

💡 Решение@container

@container (min-width: 400px) {
.card { flex-direction: row; }
}

Теперь адаптация зависит от ширины контейнера, а не всего экрана. Каждый блок подстраивается под своё окружение — без медиазапросного ада.

⚙️ Работает в Chrome 105+, Safari 16+, Firefox 109+

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

#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥107🥰6
Т-Технологии зовут на Стековку

1 ноября в Екатеринбурге, Новосибирске и Нижнем Новгороде стартует квест для ИТ-специалистов — с городским интерактивом, задачами на знание кода и смекалку.

Что нужно делать?
Решать онлайн- и офлайн-задания и получать за это баллы для своего города.

Какой приз?
В городе, который наберет больше всего баллов, устроят вечеринку. А самые активные участники смогут повлиять на выбор тематики и программы.

Как участвовать?
Просто зарегистрируйтесь до 31 октября
4🥰3
📦 Почему [] == ![] возвращает true

Кажется нелогичным: пустой массив и его отрицание — но результат true. Разберём по шагам (по спецификации ECMAScript 262):

1️⃣ Оператор ![]

- [] приводится к true, потому что любой объект в JS — truthy.
- !true даёт false.

Итак, ![] → false.

2️⃣ Сравнение [] == false

- По правилам нестрогого сравнения (==), если один операнд — объект, он приводится к примитиву (ToPrimitive).
- [] → "" (пустая строка).

Теперь выражение выглядит так: "" == false.

3️⃣ Сравнение "" == false

- false → 0, "" → 0.
- 0 == 0 → true.

Итог: [] == ![] возвращает true из-за цепочки приведений типов.

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

#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
14🥱3👍1😁1
Каким будет результат

Опрос ниже 🔜

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

#code_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
🧠 Готовишься к собесам, а ноутбук еле тянет IDE?

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

Proglib Academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻

Купи любой наш курс до 15 ноября → пройди 2 недели обучения → напиши куратору #розыгрыш. Всё, ты в игре!

📚 Среди курсов:

▫️ Алгоритмы и структуры данных — топ для подготовки к собесам в Яндекс и FAANG.

▫️ Архитектуры и шаблоны проектирования — чтобы думать как senior.

▫️ Python, математика для DS, основы IT и другие направления.

👉 Принять участие
🥰4🥱4
😱 Потерянный this в обработчике

Когда метод объекта передаётся как колбэк, он теряет контекст (см. фото). После клика в консоли будет undefined.

Почему так:

this зависит от способа вызова функции, а не от места, где она объявлена.

При передаче метода как ссылки (btn.handleClick) контекст теряется — this больше не указывает на объект.


Как исправить:

1. Явно привязать контекст


button.addEventListener('click', btn.handleClick.bind(btn));


2. Использовать стрелочную функцию


button.addEventListener('click', () => btn.handleClick());


💡 Стрелочные функции не имеют собственного this, они берут его из внешнего контекста — поэтому работают как ожидается.

#hotfix #js
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰1