Wise.js | Frontend tips
1.89K subscribers
72 photos
4 videos
66 links
Авторський канал БЕЗ РЕКЛАМИ з Frontend розробки: статті, завдання з співбесід, поради та трюки.

Youtube-канал: https://www.youtube.com/channel/UCOxqQhtg574p8kE4Te41PGg/featuredB

Пиши свої ідеї для постів сюди: @front_idea_bot
Download Telegram
☑️ IF-ELSE | SWITCH-CASE | Object

Альтернативный способ организации длинных цепочек условных выражений. Особенно хорошо применимо в Redux приложениях.
☑️ “true” / “false” В ЛОГИЧЕСКОЕ ЗНАЧЕНИЕ

4 способа преобразовать строку в логическое значение.
☑️ ТРИ ВАРИАНТА ИСПОЛЬЗОВАНИЯ ОПЦИОНАЛЬНОЙ ЦЕПОЧКИ

Оператор ?. проверяет левую часть выражения на равенство null/undefined, и продолжает дальнейшее вычисление, только если это не так.

Можно использовать как:

obj?.prop
obj?.[prop]
obj.method?.()
☑️ ЗНАЧЕНИЯ URL ДЛЯ КУРСОРА CSS

Позволяет указывать произвольные изображения в качестве курсоров мыши. Ограничение размера курсора 128 × 128 пикселей. Однако, следует ограничиться размером 32 × 32 для максимальной совместимости.
☑️ СВОЙСТВО all В CSS

Универсальное свойство, которое сбрасывает все значения свойств в исходные или наследуемые.
Применимо, чтобы разрешить сброс стилей на уровне компонентов, так как иногда гораздо проще начать создание стиля с нуля, чем бороться со всем, что уже есть.
This media is not supported in your browser
VIEW IN TELEGRAM
☑️ CSS СВОЙСТВО writing-mode

Устанавливает горизонтальное или вертикальное положение текста также как и направление блока.

Доступные значения:
writing-mode: horizontal-tb | horizontal-bt | vertical-rl | vertical-lr;

Код доступен по ссылке.
☑️ TIPS AND TRICKS #15

Используя spread оператор, можно опционально добавлять свойства к объекту.
☑️ position: fixed + transform

C position: fixed, элемент выбивается из обычного потока документа, и для него в макете страницы не создается пространство. Он позиционируется относительно viewport, и не меняет своего положения при прокрутке веб-страницы. Это позволяет размещать такие элементы, как всплывающие окна, рядом с компонентом, который его активирует.

Однако, есть особенность, которую нужно учитывать:

Если у элемента установлено одно из этих свойств: transform/perspective/filter дочерние элементы с position:fixed начинают отсчитывать свое расположение от него, а не от вьюпорта. Пример по ссылке.
☑️ РАЗНИЦА МЕЖДУ escape(), encodeURI(), encodeURIComponent()

Разбираемся какой способ использовать при кодировании строки запроса для отправки на веб-сервер.
☑️ INTERNATIONALIZATION & LOCALIZATION

Форматирование валюты с встроенным Intl API.
☑️ Array.prototype.at()

Метод принимает число и возвращает элемент по этому индексу с учетом положительных и отрицательных чисел. Отрицательные целые отсчитываются с конца массива.

⚠️ Experimental. Находится на стадии согласования.
☑️ CSS Псевдо-класс :focus-within

Cоответствует элементу, который либо сам находится в фокусе, либо содержит элемент, который находится в фокусе.
☑️ ССЫЛКИ НА ПОЧТУ, SMS И НОМЕР ТЕЛЕФОНА

С веб-страницы, вы можете открыть приложение для отправки SMS/EMAIL(при этом контент можно предзаполнить) или позвонить при помощи uri-схем.
☑️ CSS СВОЙСТВО RESIZE

Указывает, можно ли пользователю изменять размеры блока.
Применяется с к любому элементу (не только к textarea), у которого свойство overflow отличается от visible.
This media is not supported in your browser
VIEW IN TELEGRAM
☑️ document.designMode

Данное свойство устанавливает или возвращает, доступен ли документ для редактирования или нет.

Значение по умалчанию - “off”.
Чтобы включить режим редактирования нужно указать:

document.designMode = “on”

Можно использовать для:

тестирования разметки без изменения кода
создания текстовых редакторов в браузере
☑️ TIPS AND TRICKS #16

Cериализуeм данные из формы в параметры запроса без сторонних библиотек одной строкой кода.
☑️ NUMBER IS INTEGER

В JavaScript и целые числа, и с плавающей запятой относятся к одному и тому же числовому типу - number.
Чтобы определить целое ли число можно использовать данный метод.
☑️ ИМИТИРУЕМ ПОЛЬЗОВАТЕЛЬСКИЕ СОБЫТИЯ В JavaScript

Реализация функции, которая запускает событие для элемента, при необходимости передавая пользовательские данные.
☑️ ЗАПОЛНИТЕЛЬ ДЛЯ ПУСТЫХ ЭЛЕМЕНТОВ

Простой способ добавить лоадер или текст, пока загружаются данные используя только лишь CSS.

P.S: Элемент считается пустым, если у него нет дочерних элементов (узлов) или текстового содержимого (даже пробелов).
☑️ TIPS AND TRICKS #17

3 варианта извлечь элементы из массива используя деструктуризацию.