From fd42ae05a058e90b5bd2fae685abbff812cca5a9 Mon Sep 17 00:00:00 2001 From: Yoann Moinet Date: Wed, 1 Jul 2015 10:10:22 -0400 Subject: [PATCH 1/4] update la page ES6 pour suivre la 2.x de iojs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit À merger dans iojs-fr/website Closes #65 --- es6.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/es6.md b/es6.md index fe73736..1badafd 100644 --- a/es6.md +++ b/es6.md @@ -8,9 +8,9 @@ La version {{project.current_version}} d'io.js est livrée avec V8 {{project.cur Avec joyent/node@0.12.x (V8 3.28+), l'option `--harmony` activait toutes les fonctionnalités d'ES6 en même temps, qu'elles soient **shipping** (livrées), **staged** (en phase d'acceptation) ou **in progress** (en développement) (à l'exception de la sémantique non-standard/non-harmony de `typeof` qui était cachée derrière l'option `--harmony-typeof`). Ceci signifiait que certaines fonctionnalités défectueuses ou inopérantes telles que les [proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) étaient mises à disposition tout comme les [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), qui en revanche n'avaient que peu de défauts connus. De fait, il est de bonne pratique d'activer uniquement certaines fonctionnalités via l'utilisation d'options d'éxécution de fonctionnalités harmony (comme `--harmony-generators par exemple), ou simplement de toutes les activer mais de n'en utiliser qu'une partie. -Avec io.js@1.x (V8 4.1+), cette complexité disparait. Toutes les fonctionnalités d'harmony sont à présent séparées en trois groupes distincts: **livrées**, **en phase d'acceptation** ou **en développement**. +Avec io.js (V8 4.1+), cette complexité disparait. Toutes les fonctionnalités d'harmony sont à présent séparées en trois groupes distincts: **livrées**, **en phase d'acceptation** ou **en développement**. -* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, tels que les [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. +* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, tels que les [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. * Puis il y a les fonctionnalités en **phase d'acceptation**, qui sont quasiment terminées mais n'ont pas encore été complètement testées ou mises en conformité avec les dernières spécifications et ne sont pas considérées comme stables par l'équipe de V8 (certaines peuvent par exemple présenter des cas d'erreurs particuliers encore inconnus). Cet état est probablement équivalent à celui des [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*) lors de la version 3.26. Ce sont les fonctionnalités à utiliser "à vos risques" et qui nécessitent l'option d'éxécution `--es_staging` (ou son équivalent `--harmony`). * Enfin, toutes les fonctionnalités **en cours de développement** peuvent être activées individuellement via leur *flag* harmony respectif (par exemple `--harmony_arrow_functions`), bien que ceci soit déconseillé à d'autres fins que pour les tester. @@ -26,6 +26,8 @@ Avec io.js@1.x (V8 4.1+), cette complexité disparait. Toutes les fonctionnalit >Au moment de la version 3.31.74.1 de v8, les [déclarations de variables à portée de bloc sont intentionnellement limitées au mode strict](https://groups.google.com/forum/#!topic/v8-users/3UXNCkAU8Es). Veuillez-noter que ceci changera alors que v8 continuera sa mise en conformité avec les spécifications ES6. +* [Les classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) (uniquement en mode strict) + * Collections * [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) @@ -40,6 +42,8 @@ Avec io.js@1.x (V8 4.1+), cette complexité disparait. Toutes les fonctionnalit * [Littéraux octaux et binaires](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Numeric_literals) +* [Extensions d'objets littéraux](https://github.com/lukehoban/es6features#enhanced-object-literals) (raccourcis pour les propriétés et méthodes) + * [Promesses](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) * [Nouvelles méthodes de *String*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) @@ -62,9 +66,6 @@ iojs --v8-options | grep "in progress" ## Quelles fonctionnalités ES6 sont derrière l'option --es_staging? -* [Les classes](https://github.com/lukehoban/es6features#classes) (uniquement en mode strict) -* [Extensions d'objets littéraux](https://github.com/lukehoban/es6features#enhanced-object-literals) - * [`Symbol.toStringTag`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) (résultats personnalisables pour `Object.prototype.toString`) ## Mon infrastructure est configurée pour tirer partie de l'option --harmony. Dois-je la retirer? From 8c8b09b442c48f43689e70e10891ebb47c116fb8 Mon Sep 17 00:00:00 2001 From: Yoann Moinet Date: Sat, 4 Jul 2015 22:52:16 -0400 Subject: [PATCH 2/4] =?UTF-8?q?g=C3=A9n=C3=A9rateurs=20>=20classes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- es6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es6.md b/es6.md index 1badafd..9fa1cda 100644 --- a/es6.md +++ b/es6.md @@ -10,7 +10,7 @@ Avec joyent/node@0.12.x (V8 3.28+), l'option `--harmony` activait toutes les fon Avec io.js (V8 4.1+), cette complexité disparait. Toutes les fonctionnalités d'harmony sont à présent séparées en trois groupes distincts: **livrées**, **en phase d'acceptation** ou **en développement**. -* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, tels que les [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. +* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, tels que les [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. * Puis il y a les fonctionnalités en **phase d'acceptation**, qui sont quasiment terminées mais n'ont pas encore été complètement testées ou mises en conformité avec les dernières spécifications et ne sont pas considérées comme stables par l'équipe de V8 (certaines peuvent par exemple présenter des cas d'erreurs particuliers encore inconnus). Cet état est probablement équivalent à celui des [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*) lors de la version 3.26. Ce sont les fonctionnalités à utiliser "à vos risques" et qui nécessitent l'option d'éxécution `--es_staging` (ou son équivalent `--harmony`). * Enfin, toutes les fonctionnalités **en cours de développement** peuvent être activées individuellement via leur *flag* harmony respectif (par exemple `--harmony_arrow_functions`), bien que ceci soit déconseillé à d'autres fins que pour les tester. From aca5a8bf614e8ba4eec4048752ff015454fe1d1c Mon Sep 17 00:00:00 2001 From: Yoann Moinet Date: Sun, 19 Jul 2015 09:02:21 -0400 Subject: [PATCH 3/4] =?UTF-8?q?ajoute=20une=20virgule=20apr=C3=A8s=20class?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- es6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es6.md b/es6.md index 9fa1cda..8d058d2 100644 --- a/es6.md +++ b/es6.md @@ -10,7 +10,7 @@ Avec joyent/node@0.12.x (V8 3.28+), l'option `--harmony` activait toutes les fon Avec io.js (V8 4.1+), cette complexité disparait. Toutes les fonctionnalités d'harmony sont à présent séparées en trois groupes distincts: **livrées**, **en phase d'acceptation** ou **en développement**. -* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, tels que les [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. +* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, tels que les [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. * Puis il y a les fonctionnalités en **phase d'acceptation**, qui sont quasiment terminées mais n'ont pas encore été complètement testées ou mises en conformité avec les dernières spécifications et ne sont pas considérées comme stables par l'équipe de V8 (certaines peuvent par exemple présenter des cas d'erreurs particuliers encore inconnus). Cet état est probablement équivalent à celui des [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*) lors de la version 3.26. Ce sont les fonctionnalités à utiliser "à vos risques" et qui nécessitent l'option d'éxécution `--es_staging` (ou son équivalent `--harmony`). * Enfin, toutes les fonctionnalités **en cours de développement** peuvent être activées individuellement via leur *flag* harmony respectif (par exemple `--harmony_arrow_functions`), bien que ceci soit déconseillé à d'autres fins que pour les tester. From a15a6f2a433638d49da98ca45e71cc0bf010fdd5 Mon Sep 17 00:00:00 2001 From: Olivier Scherrer Date: Sun, 19 Jul 2015 20:17:29 -0400 Subject: [PATCH 4/4] tels -> telles --- es6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es6.md b/es6.md index 8d058d2..4344c72 100644 --- a/es6.md +++ b/es6.md @@ -10,7 +10,7 @@ Avec joyent/node@0.12.x (V8 3.28+), l'option `--harmony` activait toutes les fon Avec io.js (V8 4.1+), cette complexité disparait. Toutes les fonctionnalités d'harmony sont à présent séparées en trois groupes distincts: **livrées**, **en phase d'acceptation** ou **en développement**. -* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, tels que les [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. +* Toutes les fonctionnalités **livrées**, celles que V8 considère comme stables, telles que les [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*), [*templates*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings), [nouvelles méthodes de *string*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object) et bien d'autres sont activées par défaut avec io.js, et ne nécessitent **AUCUN** autre type d'option d'éxécution. * Puis il y a les fonctionnalités en **phase d'acceptation**, qui sont quasiment terminées mais n'ont pas encore été complètement testées ou mises en conformité avec les dernières spécifications et ne sont pas considérées comme stables par l'équipe de V8 (certaines peuvent par exemple présenter des cas d'erreurs particuliers encore inconnus). Cet état est probablement équivalent à celui des [générateurs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*) lors de la version 3.26. Ce sont les fonctionnalités à utiliser "à vos risques" et qui nécessitent l'option d'éxécution `--es_staging` (ou son équivalent `--harmony`). * Enfin, toutes les fonctionnalités **en cours de développement** peuvent être activées individuellement via leur *flag* harmony respectif (par exemple `--harmony_arrow_functions`), bien que ceci soit déconseillé à d'autres fins que pour les tester.