Aller au contenu principal

4 articles tagués avec « Comprendre ECMAScript »

Voir tous les tags

Comprendre la spécification ECMAScript, partie 4

· 8 minutes de lecture
[Marja Hölttä](https://twitter.com/marjakh), spectatrice spéculative des spécifications

Tous les épisodes

Pendant ce temps dans d'autres parties du Web

Jason Orendorff de Mozilla a publié une excellente analyse approfondie des particularités syntaxiques du JavaScript. Bien que les détails de l'implémentation diffèrent, chaque moteur JS fait face aux mêmes problèmes avec ces particularités.

Comprendre la spécification ECMAScript, partie 3

· 13 minutes de lecture
[Marja Hölttä](https://twitter.com/marjakh), observatrice spéculative de la spécification

Tous les épisodes

Dans cet épisode, nous approfondirons la définition du langage ECMAScript et sa syntaxe. Si vous n'êtes pas familier avec les grammaires libres de contexte, c'est le bon moment pour vérifier les bases, car la spécification utilise des grammaires libres de contexte pour définir le langage. Consultez le chapitre sur les grammaires libres de contexte dans "Crafting Interpreters" pour une introduction accessible ou la page Wikipédia pour une définition plus mathématique.

Comprendre la spécification ECMAScript, partie 2

· 12 minutes de lecture
[Marja Hölttä](https://twitter.com/marjakh), spectatrice spéculative des spécifications

Continuons à pratiquer nos incroyables compétences de lecture des spécifications. Si vous n’avez pas jeté un œil au premier épisode, c’est le moment de le faire !

Tous les épisodes

Prêt pour la partie 2 ?

Une manière amusante de se familiariser avec la spécification est de commencer par une fonctionnalité JavaScript que nous connaissons, et de découvrir comment elle est spécifiée.

Attention ! Cet épisode contient des algorithmes copiés-collés de la spécification ECMAScript en février 2020. Ils deviendront éventuellement obsolètes.

Nous savons que les propriétés sont recherchées dans la chaîne de prototypes : si un objet n’a pas la propriété que nous essayons de lire, nous remontons la chaîne de prototypes jusqu’à la trouver (ou jusqu’à atteindre un objet qui n’a plus de prototype).

Par exemple :

const o1 = { foo: 99 };
const o2 = {};
Object.setPrototypeOf(o2, o1);
o2.foo;
// → 99

Où est défini le parcours de la chaîne de prototypes ?

Essayons de découvrir où ce comportement est défini. Une bonne entrée en matière est la liste des Méthodes Interne d'Objet.

Il y a à la fois [[GetOwnProperty]] et [[Get]] — nous sommes intéressés par la version qui ne se limite pas aux propriétés propres, donc nous choisirons [[Get]].

Malheureusement, le type de spécification des descripteurs de propriété a également un champ appelé [[Get]], donc en parcourant la spécification pour [[Get]], nous devons soigneusement distinguer les deux usages indépendants.

Comprendre la spécification ECMAScript, partie 1

· 10 minutes de lecture
[Marja Hölttä](https://twitter.com/marjakh), spectateur spéculatif de la spécification

Tous les épisodes

Dans cet article, nous prenons une fonction simple de la spécification et essayons de comprendre la notation. Allons-y !

Préface

Même si vous connaissez JavaScript, lire sa spécification de langage, Spécification du langage ECMAScript, ou la spécification ECMAScript en abrégé, peut être assez intimidant. C’est au moins ce que j’ai ressenti lorsque je l’ai lue pour la première fois.