Советы, приведенные в этой статье, помогут в полной мере использовать проверку типов в TypeScript и повысить качество кода
- Используйте операторы объединения ( | и & )
- Разделяйте типы на несколько видов, чтобы избежать необязательных свойств (в статье есть пример)
- С помощью предикатов можно создавать проверки принадлежности значения к определенному типу
- Используйте перечисления (enum)
- Будьте аккуратней с дженериками
Статья на английском
#js #ts #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция Pipe используется для передачи результата каждой функции по цепочке. Она аналогична оператору pipe в Unix и применяет все функции слева направо, используя функцию reduce():
Рассмотрим на примере связи трех функций:
- Добавить префикс к строке
- Добавить суффикс к строке
- Преобразовать строку в верхний регистр
Ранее мы разбирали функции:
debounce throttle once memoize curry
#js #middle #custom
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем нужны промисы, как они работают "под капотом" и как писать их наиболее современным способом?
Статья на английском
#js #core #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть проблема и она заключается в том, что /> иногда игнорируется, а иногда нет, в пределах одного и того же HTML-документа. Можно ли сделать так, чтобы правила парсинга переключались таким образом, чтобы /> всегда был значимым? Например, чтобы <div/> действительно был самозакрывающимся. Автор даже создал issue в официальном репозитории html, но подозревает, что это невозможно из-за несовместимости с существующими библиотеками, особенно чувствительными к безопасности.
Статья на английском
#html #js #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция Omit является противоположностью функции Pick, поскольку она удаляет определенные свойства из существующего объекта. Таким образом, скрывая свойства, можно избежать избыточной выборки. Ее можно использовать вместо функции Pick, если количество свойств, которые нужно скрыть, меньше количества свойств, которые нужно выбрать.
Ранее мы разбирали функции:
debounce throttle once memoize curry pipe pick
#js #middle #custom
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышла новая версия ui библиотеки для реакта.
Изменения:
- Перешли с stitches на tailwind
- Добавили настройку tailwind тем
- Повышение производительности с помощью React Server Components
- Кастомные темы, слои, цвета
- Новые шаблоны и гайды
- Tailwind Variants
- Переписали компоненты с использованием хуков react-aria
- Оптимизировали анимацию
- Расширили документацию
- и т.д.
Все изменения
#js #news #lib #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Как реализовать ленивую загрузку, а самое главное когда?
В конце статьи автор приводит советы, которые помогут при работе с ленивой загрузкой, вот некоторые из них:
- Оптимизируйте изображения
- Устанавливайте placeholder(или 'skeleton') для медиа, которое в данный момент загружается
- Обрабатывайте ошибки загрузки. Этим очень часто пренебрегают
- Не переборщите)
Статья на английском
#js #vanilla #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
- Новый декоратор setMetadata
- using, явное управление ресурсами (для чистки памяти)
- Упрощенное использование методов для объединения массивов
- Добавили новые фишки из последней версии ECMAScript
и т.д.
Ссылка на релиз
#js #ts #news
Please open Telegram to view this post
VIEW IN TELEGRAM
У нас тут появилась альтернатива всему и вся. Вчера релизнулся Bun 1.0
Это, как они сами пишут, инструмент "всё в одном", который замахивается на замену Node.js, пакетным менеджерам и подобным вещам.
В релизе пишут что bun запускается в 4 раза быстрее Node.js
Ссылка на релиз
#js #ts #nodejs #npm #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Bun активно развивается, релизнулась уже 21 версия. Комьюнити достаточно активное. Сторонние библиотеки потихоньку предлагают использовать пакетный менеджер bun.
Изменения:
- Устранили 33 бага
- Поддержка console.table()!
- Больше информации об ошибках в bun:sqlite
- Большие файлы в FormData, Bun.write, Bun.file, bun:sqlite используют меньше оперативки
Ссылка на релиз
#ts #js #nodejs #bun #news
P.s.
Please open Telegram to view this post
VIEW IN TELEGRAM
31 декабря закончилась поддержка vue 2. Press
В новом релизе существенно переработали парсер шаблонов. Теперь этот зверь работает в 2 раза быстрей.
Изменения:
- x2 к скорости парсинга шаблонов
- Рефакторинг системы реактивности (оптимизировали повторные вычисления). В релизе наглядный пример с watchEffect
- Стабилизировали defineModel. В версии 3.3 был выпущен в качестве эксперемента
- Добавили новые сокращения:
Было: <img :id="id" :src="src" :alt="alt">
Стало: <img :id :src :alt>
- и т.д.
Эти сокращения выглядят сомнительно, при этом они сами пишут, что у них были опасения насчет данного нововведения, не получилось бы каши. Будем наблюдать.
Ссылка на релиз
#js #vue #news #newVersion
Please open Telegram to view this post
VIEW IN TELEGRAM
Под конец года обновился сайт с пользовательскими элементами, чем-то похож на codesandbox и прочие, только тут все заточено конкретно под ui.
Выбираем элемент - получаем готовые html/css. На productHunt этот ресурс высоко оценили.
Ссылка на сайт | Ссылка на productHunt
#html #css #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Ребята из bestofjs выпустили 8-е издание JavaScript Rising Stars - тенденции JS в 2023 году.
За основу бралось количество звезд, добавленных на GitHub за последние 12 месяцев.
В рейтинге есть описание проектов каждой категории, ссылки и графики популярности
Ссылка на топ
#js #ts #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
На этой неделе вышло обновление next, изменения:
- Новая документация по self-hosting
- Добавили возможность кастомного обработчика кэша.
- Улучшили турбопакет
- Улучшили сообщения об ошибках
- Добавили в appRoute поддержку pushState и replaceState
- Пофиксили 20 багов в работе роутов
- Прокачали next/image
Ссылка на релиз
#js #ts #react #news #framework
Please open Telegram to view this post
VIEW IN TELEGRAM