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

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

Пиши свої ідеї для постів сюди: @front_idea_bot
Download Telegram
☑️ 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 варианта извлечь элементы из массива используя деструктуризацию.
☑️ CSS :is() SELECTOR

:is() это функция псевдо-класс CSS принимающая список селекторов как аргумент, и выбирает любой элемент, который может быть выбран одним из селекторов в этом списке.
Это полезно при переписи огромных селекторов в более компактную форму.
☑️ DOMParser

Предназначен для парсинга «сырой» строки HTML, XML, SVG в объект.
Всего форматов в которые мы можем преобразовать строку три:
text/html
application/xml
image/svg+xml
☑️ ОПРЕДЕЛЯЕМ ЧТО Caps Lock ВКЛЮЧЕН

Метод KeyboardEvent.getModifierState() возвращает текущее состояние указанной клавиши-модификатора: true, если модификатор активен. Список всех модификаторов доступен по ссылке.
☑️ ДОБАВЛЯЕМ ТАЙМАУТ К ПРОМИСУ

Иногда нам нужно установит таймаут на выполнение запроса или другого асинхронного действия.
Мы можем сделать это связкой Promise.race + setTimeout.
☑️ Broadcast Channel API

Между страницами где будет создан объект BroadcastChannel и указан точно такой же канал можно обмениваться сообщениями.
Cообщения можно передавать между вкладками, окнами браузера и фреймами.
☑️ ПРЕОБРАЗОВАНИЕ ПСЕВДОМАССИВА В МАССИВ

Псевдомассив — это объект, который структурно похож на массив. То есть у него есть числовые свойства (индексы) и свойство length. Главным отличием является наследование псевдомассива (он не наследует Array). Разбираемся с вариантами конвертации.
☑️ ИЗМЕНЕНИЕ URL БЕЗ ПЕРЕЗАГРУЗКИ СТРАНИЦЫ

HTML5 API history дает нам больше контроля над историей браузера. У нас есть возможность добавить запись в историю, или изменить URL в адресной строке без перезагрузки страницы.
Это делает возможным разработку тяжелых, одностраничных приложений без использования hash-роутеров, также позволяет нам оптимизировать приложения для SEO.
☑️ Intl API | RelativeTimeFormat

Предоставляет возможность форматировать даты и отметки времени в удобночитаемый формат. Поддерживает множество языков. Вторым аргументом можно указать несколько значений: second, minute, hour, day, week, month, quarter, year.