Un jeu tout simple développé en moins de 100 lignes de JavaScript.
Une explication assez détaillée mais néanmoins digeste de ce qu'est l'event loop et de comment en tirer parti lorsque vous avez à traiter des données inhabituelles, j'entends par là des gros volumes ou des tâches intensives niveau CPU.
Un guide pour l'usage de Playwright.
Créer un package npm qui supporte à la fois CommonJS et ESModule.
Quelques façons de loguer dans la console de manière un peu plus structurée en JavaScript.
Un remplaçant pour StandardJS (un ensemble de règle sur la façon d'écrire du code JS) qui :
Tuto extrêmement complet sur le language JavaScript.
Un 🇬🇧 article qui explique ce que sont les Promises (promesses) JavaScript en partant de zéro. Une notion indispensable.
Explications et exemples à propos de Promise.withResolvers()
qui arrive bientôt dans JavaScript. L'usage est situationel mais ça reste utile à connaître.
Comment déclencher un téléchargement dans le navigateur purement en local depuis le code JavaScript, en utilisant l'objet Blob
.
J'ai vérifié, ça fonctionne même en local en ouvrant simplement un fichier HTML dans votre navigateur, pas besoin de serveur HTTP.
Je me dis que ça peut être très utile par exemple pour partager une espèce de mini application qui pré-calcule un truc et permet de l'exporter en CSV ou JSON. Un calculateur de salaire par exemple, un ou petit outil pour estimer un risque.
Je me copie-colle le snippet en dessous.
const blob = new Blob(
[ /* CSV string content here */ ],
{ type: 'text/csv' }
);
function downloadBlob(blob, filename) {
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename || 'download';
const clickHandler = () => {
setTimeout(() => {
URL.revokeObjectURL(url);
this.removeEventListener('click', clickHandler);
}, 150);
};
a.addEventListener('click', clickHandler, false);
a.click();
}
downloadBlob(blob, 'result.csv');
Enfin un 🇬🇧 article clair sur ce que sont les WeakMap
en JavaScript et quels sont les cas d'usage.
Elles servent à attacher une valeur à un objet de manière "externe", sans modifier l'objet lui-même. Un peu comme si vous êtes vendeur dans un magasin et attachez l'étiquette avec le prix sur un objet. Si l'objet disparaît, l'étiquette disparaît aussi. Donc si l'objet auquel vous attachez la WeakMap
est supprimé par le garbage collector, votre WeakMap
l'est aussi.
C'est donc parfait pour attacher une computed property à un objet par exemple, ou pour créer des propriétés réellement privées qui ne seront pas accessible à du code qui n'a pas accès à la WeakMap
.
Ce sont des cas bien spécifiques mais c'est intéressant de savoir que ça existe.
Comprendre ce qu'est un virtual DOM en en créant un de zéro. C'est très intéressant et très malin.
Une initiation à Playwright, un outil de testing visuel pour le web.
Comment documenter votre code JavaScript avec JSDoc.
Une alternative à zx et Bun pour faire du scripting type shell avec JavaScript.
Un cookbook très complet avec beaucoup d'exemples pour comprendre l'API JavaScript Temporal
et notamment ses différences avec Date
.
Un nouveau guide de Google pour apprendre JavaScript de zéro.
Je ne suis pas allé dans le détail mais en général ils font ça plutôt bien.
Cet article s'attaque en profondeur à la façon dont sont gérés les objets JavaScript dans V8, le moteur développé par Google et utilisé dans Chrome. L'article est très technique mais intéressant pour comprendre l'impact des objets JS au niveau de la couche basse. Si vous cherchez à optimiser votre code au maximum, ça peut être utile de s'intéresser aux sous-bassements.
De l'injection de dépendance JavaScript qui semble relativement simple, loin des usines à gaz habituelles.
Une proposition (bien étayée) d'inclure les "Signals" à JavaScript. C'est globalement l'équivalent des systèmes de réactivité des framework front-end modernes, avec par exemple les computed properties de Vue.
C'est un gros morceau !