ECMAScript 2016

JavaScript 命名約定始于 ES1、ES2、ES3、ES5 和 ES6。

但是,ECMAScript 2016 和 2017 未被稱為 ES7 和 ES8。

自 2016 年以來,新版本按年份命名(ECMAScript 2016/2017/2018)。

ECMAScript 2016 中的新特性

本章介紹 ECMAScript 2016 的新特性:

  • JavaScript 求冪 (**)
  • JavaScript 求冪賦值 (**=)
  • JavaScript Array.prototype.includes

求冪運算符

冪運算符 (**) 將第一個操作數提高到第二個操作數的冪。

實例

let x = 5;
let z = x ** 2;          // 結果是: 25

親自試一試

x ** y 產生與 Math.pow(x, y) 相同的結果:

實例

let x = 5;
let z = Math.pow(x,2);   // 結果是: 25

親自試一試

求冪賦值

冪賦值運算符 (**=) 將變量的值提高到右操作數的冪。

實例

let x = 5;
x **= 2; // 結果是 25

親自試一試

Chrome 52 和 Edge 14 是首個完全支持指數運算符的瀏覽器:

Chrome IE Firefox Safari Opera
Chrome 52 Edge 14 Firefox 52 Safari 10.1 Opera 39
2016 年 7 月 2016 年 8 月 2017 年 3 月 2017 年 3 月 2016 年 8 月

JavaScript Array.includes()

ECMAScript 2016 將 Array.prototype.includes 引入數組。這允許我們檢查元素是否存在于數組中:

實例

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // 為 true

親自試一試

所有現代瀏覽器都支持 Array.prototype.includes:

Chrome IE Firefox Safari Opera
Chrome 47 Edge 14 Firefox 43 Safari 9 Opera 34
2015 年 12 月 2016 年 8 月 2015 年 12 月 2015 年 10 月 2015 年 12 月