Préface
Il y a quelques années, lorsque Spidermonkey a implémenté le mode strict, j'ai appris que le mode strict désactive l'écriture de la zone entière octale. Parce qu'il existe des preuves que certains débutants utiliseront les 0S leader pour aligner les nombres dans plusieurs lignes, ce qui entraînera des résultats inattendus:
var sum = 015 + // équivaut à 13 en décimal, pas 15 197 + 001; // Quoi qu'il en soit, c'est 1Console.log (SUM) // La somme obtenue par addition est 211, pas 213 comme le pensent les débutants
Cependant, certains développeurs ont encore besoin d'entiers octaux (en particulier ces développeurs d'extension Mozilla et les développeurs Node.js), et le plus courant est lors du traitement des autorisations de fichiers (755, 644). Par conséquent, ES6 a ajouté une nouvelle méthode d'écriture entière octale. Semblable à l'hexadécimal 0x ou 0x, le nouvel entier octal utilise 0O ou 0O comme identifiant leader, suivi de plusieurs caractères numériques octaux (0 à 7). Cette méthode d'écriture ne dérangera plus les débutants:
var default_perms = 0o644; // également disponible en mode strict
Il convient de noter que la lisibilité du préfixe 0O est trop médiocre (0 et majuscules o sont trop similaires et il est difficile de distinguer). J'ai soulevé cette question sur Esdiscuss, espérant désactiver le préfixe en majuscules 0o. Cependant, la décision actuelle de TC39 estime toujours que la cohérence devrait être supérieure à la lisibilité (la cohérence signifie qu'elle doit être cohérente avec 0x et 0b). Je pense que cette décision est discutable et je vous recommande de ne jamais utiliser de majuscules 0O.
De plus, certains développeurs ont également besoin d'une méthode d'écriture de quantité de surface entière binaire, qui n'a jamais été soutenue par ECMAScript. ES6 prend en charge cette méthode d'écriture, similaire à l'octal et hexadécimal, en utilisant des préfixes 0b ou 0b:
var flt_signbit = 0B10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Actuellement, Firefox Aurora a implémenté ces deux syntaxes. Si vous êtes plus aventureux, vous pouvez également utiliser le Firefox mis à jour tous les soirs.
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article sera utile à tout le monde dans l'apprentissage de l'ES6. Si vous avez des questions, veuillez laisser un message pour communiquer.