Découvrez 17 fonctionnalités récentes de JavaScript qui pourraient vous avoir échappé. Cet article explore des innovations comme Intl.ListFormat pour formater des listes selon les règles locales, Intl.RelativeTimeFormat pour afficher des temps relatifs, et Intl.DurationFormat pour décrire des durées de manière appropriée à la langue. Il aborde aussi des améliorations pour les objets, les tableaux et les chaînes de caractères, offrant des solutions légères et efficaces pour réduire les dépendances. Parfait pour ceux qui veulent moderniser leur code ou simplifier leurs projets.
L’article met en lumière un piège courant en JavaScript : l’utilisation de Array.includes dans une boucle (comme source.some(item => target.includes(item))) peut devenir extrêmement coûteuse en performance avec des tableaux volumineux, car la complexité algorithmique passe à *O(nm). Par exemple, avec des tableaux de 60 000 éléments, l’exécution peut prendre plusieurs secondes. La solution consiste à utiliser des structures de données optimisées pour des recherches en temps constant, comme un objet, une Map, ou mieux, un Set (new Set(target)), réduisant la complexité à O(n + m)** et rendant le code quasi instantané même pour de très grands jeux de données. Une astuce simple, mais cruciale pour éviter des goulots d’étranglement inattendus dans le code JavaScript.
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 explique comment migrer des colonnes de type array vers json avec Doctrine, suite à la dépréciation des types array et object dans la version 3 de Doctrine. Il propose une méthode en plusieurs étapes : créer un type Doctrine hybride pour gérer les deux formats, migrer les données sans interrompre le déploiement, et finalement supprimer le type hybride une fois la migration terminée. Le processus permet de migrer les données de manière efficace et sans temps d'arrêt.
Tout est dans le titre
Des astuces autour du typage des arrays en PHP (notamment pour l'analyse statique avec PHPStan)
Les anciennes méthodes JavaScript sur les tableaux les modifient. Les nouvelles méthodes (toReversed, toSpliced, toSorted, with) ne les modifient plus.
Cet article fait partie de ceux référencés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html L'auteur défend l'usage des "struct classes" par rapport à l'utilisation de tableau avec clé / valeur (typage des champs, autocomplétion, cohérence, maintenance, etc.) Il attire l'attention sur un petit problème à ne pas oublier : les objets sont passés par référence dans les fonctions / méthodes et sont donc mutables.
Il s'agit de :
- tableau
- liste
- pile
- file
- arbre
- graphe
- hashmap
Tout est dans le titre
Comment renverser l'ordre d'un tableau JavaScript sans modifier le tableau original : montableau.toReversed() ou [...montableau].reverse()
Tout est dans le titre
L'auteur montre la possibilité de manipuler des tableaux d'objets en JavaScript... Pour le moment uniquement sur Safari
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre - l'idée est surtout de pouvoir utiliser des index négatifs
Les méthodes du type Array en JavaScript font muter les variables. L'auteur montre comment pallier ce problème.
Tout est dans le titre