Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
22.5K subscribers
2.41K photos
146 videos
38 files
4.8K links
Все самое полезное для фронтенда в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
加入频道
Шпаргалка по самым распространенным операциям над массивами в JavaScript

15 важнейших операций - от перебора до сортировки с наглядными примерами.

Смотреть: https://prglb.ru/3pbwq

#javascript #core #cheatsheets
Классы на прототипах: как работает ООП в JavaScript

Изначально ООП модель JavaScript была основана на прототипной структуре, но для удобства в нем появились классы. Посмотрим, как это работает на деле.

Читать: https://proglib.io/p/klassy-na-prototipah-kak-rabotaet-oop-v-javascript-2020-02-20

#javascript #core #beginners
Делегирование событий в JavaScript

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

Читать: https://prglb.ru/415p2

#javascript #core #beginners
Цикл событий: как выполняется асинхронный JavaScript-код в Node.js

Разбираемся, как работает цикл событий Node.js, зачем там коллбэки и в каком порядке они выполняются.

Подробнее: https://proglib.io/p/cikl-sobytiy-kak-vypolnyaetsya-asinhronnyy-javascript-kod-v-node-js-2020-02-26

#javascript #node #core
Полное руководство по классам в JavaScript

От конструктора до статических методов. И про прототипы под капотом не забудем 😌

Читать: https://prglb.ru/4hewc

#javascript #core
Приведение типов в JavaScript

Полное погружение в преобразование типов - от спецификации до реализации.

Читать: https://prglb.ru/3q5zd

#javascript #core
Что такое Генераторы в JavaScript

Теоретическое введение в функции, выполнение которых можно прервать.

Читать: https://prglb.ru/2xibi

#core
Как работает reduce() в JavaScript, когда его нужно применять и какие крутые вещи можно с ним делать

В этой статье вы узнаете про метод reduce() и какие клевые штуки можно вытворять с его помощью, выйдя за рамки его общеизвестного применения.

Читать: https://prglb.ru/4we1

#javascript #core
Что такое super() в JavaScript?

Зачем мы вызываем super в дочерних классах и что произойдет, если этого не сделать?

Подробнее: https://prglb.ru/h6u6

#javascript #core #beginners
CSS Filters Demo

Живые примеры работы CSS-фильтров с кодом

Поиграть: https://prglb.ru/5il7v

#css #core
Стрелочные функции в JavaScript. Зачем они нужны, когда ими нужно пользоваться?

Синтаксис стрелочных функций так удобен, что мы пользуемся ими везде - даже если это и не требуется. На самом деле у них есть вполне конкретное предназначение.

Читать: https://prglb.ru/1c1sa

#javascript #core
Практическое руководство по Javascript Proxy

Proxy - мощный инструмент метапрограммирования в JS, обеспечивающий полный контроль при доступе к объекту. Он умеет отслеживать все основные операции (запрос значения свойства и его обновление, вызов метода, итерация, удаление свойств и т. д.)

Чтобы отслеживать какую-либо операцию, объект Proxy должен реализовать соответствующую "ловушку": метод get, set, deleteProperty и т. д.

Proxy может использоваться для реализации множества концепций:
- перегрузка операторов
- "настоящие" приватные свойства
- возвращения "нулевого значения"
- мокирование объектов
- кэширование данных и синхронизация состояний
- гибкие перечисления
- использование отрицательных индексов для поиска в массивах
- удобная работа с cookies
- реактивное изменение свойств

Кроме того, прокси можно оборачивать друг в друга, создавая таким образом композиции из разных "ловушек".

Подробнее о Proxy: https://webdevblog.ru/prakticheskoe-rukovodstvo-po-javascript-proxy/

#javascript #core
Полное руководство по ES10

Вспоминаем недавно добавленные JS-фичи - вдруг вы еще не начали их использовать 🤨

Речь пойдет о:
- больших числах
- плоских массивах
- стабильной сортировке
- стандартизированном глобальном объекте
- удалении пробелов из строк
- String.matchAll()
- Object.fromEntries()
- новых членах классов
- и еще многом другом

Читать: https://prglb.ru/5tkkz

#javascript #core
Замыкания, каррирование и крутые абстракции

Разбираемся в непростых концепциях JavaScript на практике

Читать: https://prglb.ru/1r4xj

#javascript #core
Сортировка по умолчанию в JavaScript осуществляется в лексикографическом порядке, то есть элементы сравниваются как строки.

Узнать больше о методе sort: https://prglb.ru/48baz

#javascript #core
Объяснение

Метод Object.seal запрещает добавление новых свойст к объекту и конфигурацию существующих свойств. Однако не мешает изменять их значения.

Документация MDN: https://prglb.ru/1gt4m

Вместе с Object.freeze этот метод может служить для обеспечения иммутабельности данных.

Подробнее: https://prglb.ru/qgo8

#javascript #core
Правильный ответ: 1

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

😲 Почти любой код на JS можно написать с помощью всего лишь 6 символов:

[]()!+

Не верите? Смотрите сами: https://javascript.christmas/2019/17

#javascript #coersion #core
Правильный ответ: 3 из приведенных реализаций некорректны

Реализация #1. Цикл for-in перебирает индексы массива, а не значения.
Реализация #6. Оператор in также работает с индексами (ключами), а не со значениями
Реализация #8. Результатом работы метода findIndex является порядковый индекс элемента, который может быть равен 0. Поэтому некорректно преобразовывать это значение в булево.

Многие операции в JS можно выполнить несколькими способами. Обычно мы выбираем самый понятный, самый короткий или самый производительный из них.

25 полезных сокращений, которые пригодятся любому разработчику: https://www.sitepoint.com/shorthand-javascript-techniques/

#javascript #core #bestpractices
Итераторы, генераторы и протокол итерации в JavaScript

Статья рассказывает:
- как происходит итерация по умолчанию строк, массивов и других структур под капотом (спойлер: с помощью итераторов)
- как написать кастомный итератор, чтобы итерировать все, что угодно
- что такое функции-генераторы и нужны ли они разработчику

Читать: https://prglb.ru/pe6e

#javascript #core