序文
数年前、Spidermonkeyが厳密なモードを実装したとき、私は厳密なモードがOctal Integerエリアの書き込みを無効にすることを学びました。一部の初心者が先頭の0を使用して複数の行で数値を調整するという証拠があるため、予期しない結果が得られます。
var sum = 015 + //は10進数で13に相当し、15 197 + 001ではなく。 //とにかく、それは1console.log(sum)//加算によって得られた合計は211であり、初心者が思うように213ではなく211です
ただし、一部の開発者は依然としてオクタル整数(特にMozilla Extension DevelopersとNode.js開発者)を必要とし、最も一般的なものはファイル許可を処理するときです(755、644)。したがって、ES6は新しいOctal Integerライティング方法を追加しました。 Hexadecimal 0xまたは0xと同様に、新しいOctal Integerは0Oまたは0Oを先行識別子として使用し、その後にいくつかのオクタル数値文字(0〜7)が続きます。この執筆方法は、初心者を悩ませなくなります:
var default_perms = 0o644; //厳密なモードでも利用できます
0Oプレフィックスの読みやすさがあまりにも低すぎることは注意してください(0と大文字は似すぎており、区別するのが困難です)。 Esdiscussでこの質問を提起し、大文字の0Oプレフィックスを無効にすることを望んでいます。ただし、TC39の現在の決定は、一貫性が読みやすさよりも大きくなければならないと考えています(一貫性とは、0xおよび0bと一致することを意味します)。この決定は議論の余地があると思います。Appercase0Oを使用しないことをお勧めします。
さらに、一部の開発者は、ECMAScriptによってサポートされていないバイナリ整数表面数量書き込み方法も必要です。 ES6は、0Bまたは0Bのプレフィックスを使用して、OctalおよびHexadecimalと同様に、この書き込み方法をサポートしています。
var flt_signbit = 0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
現在、Firefox Auroraはこれら2つの構文を実装しています。あなたがもっと冒険的であるならば、あなたは毎晩更新されたFirefoxを使用することもできます。
要約します
上記は、この記事のコンテンツ全体です。この記事の内容がES6を学習するすべての人に役立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとってください。