JavaScriptはWebとECMAScriptを支配し、言語のコアは成長しています。 今年の半ばに予定されている新しい仕様(ES6またはJS2)は、今日すでに試してみることができる多くの革新をもたらします。 Firefoxは、現在持っている最高のサポートを、しかし、のような、いわゆるtranspilersてpolyfillsグーグルTraceurはまた可能です。 以下は、ES6の新機能の概要です。
新しいキーワードletはvarよりもはるかに優れています:スコープは他の言語(C / C ++、Java)とまったく同じように動作するようになりました。そのため、if-blockにも独自のスコープがあります。 巻き上げ、つまり、それぞれのスコープ内での変数宣言(値の割り当てではない)の繰り越しも修復されます:
console.log(x); var x = 'foo'; // undefined console.log(y); let y = 'bar'; // not initialized
他の革新の数は長いです:定数(const)、関数のデフォルト値(function pow(a、b = 2){return Math.pow(a、b);})、関数の新しい表記法(let pow =(a、b = 2)=> Math.pow(a、b);)、多数の新しい関数(repeat()、contains()、startsWith()、find()、findIndex())、新しいループ構造の。
新しいデータタイプセット、マップ、プロキシ、シンボル、インポートを使用した(他の一部の)JavaScriptファイルのインポート、クラスと継承のための新しい直感的な構文についても言及する必要があります。 しかし、文字列リテラルの改行の可能性など、小さいながらも待望のことがよくあります(特別な引用符に注意してください):
`foo bar`
JavaScriptは長い間、小さなWebサイトのトリックのためのツール以上のものでした。それは、デスクトップの対応物に決して劣らない強力で高性能なWebアプリケーションを作成します。 多数の役立つイノベーションとES6からすでに利用可能なサポートにより、プログラミングは2倍楽しいものになります。
新しい定数Number.EPSILONを使用して、2つの数値が等しいかどうかを常に確認したいとは思わなかったのは誰ですか。その値は、1と次に高い浮動小数点値の差を示します。
let cmp = (a,b) => Math.abs(a-b)