Suite de https://css-tricks.com/a-better-api-for-the-resize-observer/ , l'article propose une refonte des API pour MutationObserver et IntersectionObserver afin de les rendre plus simples à utiliser. L'auteur montre comment simplifier l'utilisation de ces observateurs en utilisant des motifs de rappel et d'écouteurs d'événements. Pour MutationObserver, il explique comment observer les mutations du DOM et se déconnecter proprement en utilisant une méthode disconnect. Concernant IntersectionObserver, il détaille comment observer les changements d'intersection d'un élément avec un ancêtre ou une fenêtre de visualisation. Enfin, l'article mentionne une bibliothèque pratique, Splendid Labz, qui offre des utilitaires pour ces observateurs, facilitant leur intégration dans des projets web.
L'auteur donne une série de conseils pour l'écriture de regex en JavaScript, du plus basique au plus complexe : ajout de flags, groupes de capture nommés, etc.
L'article propose une amélioration de l'API pour le ResizeObserver, un outil JavaScript utilisé pour observer les changements de taille des éléments DOM. L'auteur suggère d'encapsuler la logique du ResizeObserver dans une fonction plus simple et réutilisable, ce qui rend son utilisation plus intuitive et proche des modèles d'écouteurs d'événements familiers. En passant un élément et une fonction de rappel à cette fonction personnalisée, les développeurs peuvent facilement réagir aux changements de taille sans avoir à réécrire le code standard du ResizeObserver à chaque fois. De plus, l'article montre comment intégrer des options supplémentaires et gérer l'arrêt de l'observation, offrant ainsi une solution plus flexible et maintenable. Enfin, il mentionne une bibliothèque appelée Splendid Labz qui offre une version améliorée de cet observateur, capable de gérer plusieurs éléments simultanément.
L'article explore les subtilités de la gestion des dates en JavaScript, en se concentrant sur les différences de comportement entre les formats de date comme "2025/05/28" et "2025-05-28". Il explique comment ces formats peuvent être interprétés différemment selon qu'ils sont traités en temps local ou en temps universel (UTC), ce qui peut entraîner des résultats inattendus. L'auteur plonge dans l'historique des navigateurs et des spécifications ECMAScript pour expliquer l'évolution de ces comportements, soulignant les inconsistances passées entre les navigateurs. Enfin, il mentionne l'arrivée de l'API Temporal en JavaScript, qui vise à résoudre ces ambiguïtés en offrant une gestion plus robuste et claire des dates et des heures.
L'article explique comment utiliser les méthodes .map()
, .reduce()
, et .filter()
en JavaScript pour manipuler efficacement les tableaux. Ces outils permettent de transformer, agréger et filtrer des données de manière concise et lisible, remplaçant avantageusement les boucles traditionnelles. En les combinant, on peut effectuer des opérations complexes sur les données avec un code plus propre et plus maintenable.
L'article compare trois outils HTTP : Fetch API, Axios et Alova. Fetch API, intégré nativement dans JavaScript, est léger et idéal pour des requêtes simples mais nécessite une gestion manuelle pour des fonctionnalités avancées. Axios, bien que plus lourd, offre des fonctionnalités automatisées comme la gestion du JSON et des intercepteurs, le rendant adapté pour des applications complexes. Alova, quant à lui, combine la simplicité des requêtes avec des fonctionnalités avancées telles que la gestion de l'état et la mise en cache, ce qui en fait un choix optimal pour des applications front-end lourdes nécessitant une optimisation des performances.
L'action décrite dans le titre est plus compliquée que prévue... Une solution qui marche bien la plupart du temps est de faire {}.toString.call(v)
Une bibliothèque JavaScript open source de visualisation de données très complète
L'auteur explique pourquoi c'est une bonne pratique
L'article montre comment créer un jeu de "devinez le drapeau" en JS natif et CSS, sans framework ni lib. L'auteur explique pas-à-pas ce qu'il fait... C'est très instructif
Une bibliothèque de fonctions pour JavaScript / Node.js : mathématiques, probabilités, générateurs de nombres pseudo aléatoires, transformations de données, assertions, etc.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'auteur rappelle le principe de moindre pouvoir : choisir le langage le moins puissant pour un but donné — on permet ainsi de laisser le navigateur la manière d'accomplir ce que l'on souhaite.
Il présente ensuite quelques éléments / fonctionnalités pour lesquelles JavaScript peut être remplacé avantageusement par du HTML / CSS :
- Custom Switches
- Datalist, un composant avec autocomplétion native
- Un Color picker
- Accordions
- Dialog modals
Il rappelle à chaque fois les meilleures pratiques d'accessibilité.
Tout est dans le titre
Tout est dans le titre
L'auteur explique à quoi servent les attributs integrity et crossorigin dans
<script src="https://unpkg.com/react@18/umd/react.production.min.js"
integrity="sha384-tMH8h3BGESGckSAVGZ82T9n90ztNXxvdwvdM6UoR56cYcf+0iGXBliJ29D+wZ/x8"
crossorigin="anonymous">
L'auteur montre un extrait de HTML avec une mauvaise utilisation de titre hX et des div inutiles. Il s'agit d'un code généré par un framework JavaScript. Or ceux ci fournissent généralement des mécanismes pour éviter d'avoir des éléments en trop (comme les fragments dans React)
Tout est dans le titre