By Sanket Meghani
ECMAScript2015(ES6としても知られています)がリリースされて以来、膨大な新機能が導入されています。 それらには、矢印関数、セット、マップ、クラス、および破壊などが含まれます。 多くの点で、ES2015はJavaScriptの新しいバージョンを学ぶようなものです。
Ecma技術委員会39は、ECMA仕様を管理します。 彼らは2015年から毎年ECMAScriptの新しいバージョンをリリースすることに決めました。 毎年の更新は、ES6のようなこれ以上の大きなリリースを意味しません。
ECMAScript2016では、2つの新機能のみが導入されました:
- 配列。プロトタイプ。インクルード()
- べき乗演算子
配列。プロトタイプ。含まれています()
Array.prototype.includes()
配列にargument
として渡されたvalue
があるかどうかをチェックします。 配列にvalue
が含まれている場合はtrue
を返し、それ以外の場合はfalse
を返します。
以前は、指定された配列に要素が含まれているかどうかを確認するためにArray.prototype.indexOf()
を使用する必要がありました。
let numbers = ;
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}
ECMA2016を使うと、私達は書いてもいいです:
if(numbers.includes(2)) { console.log('Array contains value');}
Array.prototype.includes()
NaN
はArray.prototype.indexOf()
よりも優れています。 配列にNaN
が含まれている場合、indexOf()
はNaN
の検索中に正しいインデックスを返しません。
Array.prototype.includes()
は、NaN
を検索するときに正しい値を返します。
NaN
は、JavaScriptグローバルオブジェクトのプロパティであり、数値ではない値を表します。 NaN
を別の値と比較すると、既知の癖があります。 これらはArray.prototype.includes()
で対処されていますが、Array.protoype.indexOf
では対処されていません。
let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true
べき乗演算子
JavaScriptはすでに+, -, *
などの多くの算術演算子をサポートしています。
ECMAScript2016では累乗演算子**
が導入されました。
それはMath.pow()
と同じ目的を持っています。 最初の引数を2番目の引数の累乗に戻します。
let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81
おわりに
ECMA2016によって導入された新機能は、既存の機能に代わる便利な選択肢を提供します。
今後は、今年6月にECMA2017が確定しました。 新しい機能には、async/await
、SharedArrayBuffer
、およびObject.prototype
へのいくつかの便利なメソッドが含まれます。