Loading

ES2016 中对 Javascript 的新增和改进

数组方法 includes

Array.prototype.includes(value : any) : boolean
// 如果value是当前数组的元素则返回true,否则返回false。

includes 和 indexOf 方法很类似,以下表达式是相等的:

arr.includes(x);
arr.indexOf(x) !== -1;

主要的不同是 includes 能找到 NaN 元素,但 indexOf 不能:

[NaN].includes(NaN); // true
[NaN].indexOf(NaN); // -1

此外类数组也有 includes 方法

let tarr = Uint8Array.of(12, 5, 3);

tarr; // Uint8Array(3) [12, 5, 3]

console.log(tarr.includes(5)); // true

幂运算符 **

**是一个求幂中缀运算符,以下两个表达式的值相等:

x ** y;
Math.pow(x, y);

例子

const squared = 3 ** 2; // 9

let num = 3;
num **= 2;
console.log(num); // 9

function dist(x, y) {
  return Math.sqrt(x ** 2 + y ** 2);
}

优先级: 幂操作符*的优先级非常高,它要优先于乘法运算符

2 ** 2 * 2; // 8
2 * 2 ** 2; // 8
2 ** (2 * 2); // 16
posted @ 2021-05-09 13:58  Frank-Link  阅读(88)  评论(0编辑  收藏  举报