À propos du projet

# What the f*ck JavaScript? Ce dépôt est une collection d'exemples JavaScript humoristiques et déroutants, inspirée de la conférence « WTFJS » de Brian Leroux à dotJS 2012. Il vise à rassembler des extraits de code étranges et à expliquer leur fonctionnement, souvent en référence à la spécification ECMA-262. Le manuel est disponible sous forme de paquet npm (`wtfjs`) pour une lecture hors ligne, et a été traduit en plusieurs langues, notamment le chinois, l'hindi, le français, le portugais, le polonais, l'italien et le coréen. ## Aperçu du contenu La liste comprend plus de 60 exemples, chacun avec un extrait de code et une explication détaillée. Les sujets abordés incluent : - **Particularités d'égalité et de coercition** : par exemple, `[] == ![]` est `true`, `true == []` est `false`, `null == false` est `false`. - **NaN et bizarreries numériques** : `NaN === NaN` est `false`, `Number.MIN_VALUE > 0` est `true`, cas limites de `parseInt`. - **Comportements des tableaux et des chaînes** : concaténation de tableaux, virgules finales, monstres d'égalité de tableaux. - **Anomalies de fonctions et de classes** : `class Foo extends null` génère des erreurs, les fonctions fléchées ne sont pas des constructeurs. - **Astuces diverses** : `"b" + "a" + +"a" + "a"` donne `'baNaNa'`, commentaires HTML en JavaScript, `document.all` étant `undefined`, et plus encore. Chaque exemple est annoté avec des liens vers les sections pertinentes de la spécification ECMA-262 ou des références externes, ce qui en fait une référence utile tant pour les débutants cherchant une compréhension plus approfondie que pour les professionnels à la recherche d'un recueil des bords inattendus de JavaScript. ## Motivation L'objectif principal est le plaisir et l'apprentissage. L'auteur encourage les lecteurs à explorer la spécification et à découvrir quelque chose de nouveau, qu'ils soient débutants ou développeurs expérimentés. ## Utilisation Installez via npm : ``` $ npm install -g wtfjs ``` Puis exécutez `wtfjs` pour ouvrir le manuel dans votre pagineur préféré. ## Traductions Des traductions maintenues par la communauté sont disponibles dans plusieurs langues, bien qu'elles puissent ne pas inclure tous les exemples ou être entièrement à jour. ## Licence Publié sous la licence WTFPL 2.0.