旧的 JS 版本以数字命名:ES5 (2009) 和 ES6 (2015)。
从 2016 年开始,版本按年份命名:ECMAScript 2016、2017、2018、2019,...
本章介绍 ECMAScript 2016 中的新功能:
JavaScript 求幂 (**)
JavaScript 求幂赋值 (**=)
JavaScript 数组 includes()
求幂运算符 (**
) 将第一个操作数计算为第二个操作数的幂。
let x = 5;
let z = x ** 2;
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>The ** Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let z = x ** 2;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
x ** y
产生与 Math.pow(x, y)
相同的结果:
let x = 5;
let z = Math.pow(x,2);
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>Math.pow()</h2>
<p id="demo"></p>
<script>
let x = 5;
let z = Math.pow(x, 2)
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
let x = 5;
x **= 2;
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>Exponentiation Assignment (**=)</h2>
<p id="demo"></p>
<script>
let x = 5;
x **= 2;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
自 2017 年 3 月起,所有现代浏览器均支持指数运算符:
Chrome 52 | Edge 14 | Firefox 52 | Safari 10.1 | Opera 39 |
Jul 2016 | Aug 2016 | Mar 2017 | Mar 2017 | Aug 2016 |
ECMAScript 2016 向数组引入了 Array.includes
。
这允许我们检查数组中是否存在元素:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango");
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The includes() Method</h2>
<p>Check if the fruit array contains "Mango":</p>
<p id="demo"></p>
<p><strong>Note:</strong> The includes method is not supported in Edge 13 (and earlier versions).</p>
<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.includes("Mango");
</script>
</body>
</html>
自 2016 年 8 月起,所有现代浏览器均支持 Array.includes
:
Chrome 47 | Edge 14 | Firefox 43 | Safari 9 | Opera 34 |
Dec 2015 | Aug 2016 | Dec 2015 | Oct 2015 | Dec 2015 |