
ES7系列目录
- 1 Array.prototype.includes()方法
- 2 指数操作符
所有整理的文章都收录到我《Cute-JavaScript》系列文章中,访问地址:http://js.pingan8787.com
1 Array.prototype.includes()方法
includes()用于查找一个值是否在数组中,如果在返回 true,否则返回 false。
-
['a', 'b', 'c'].includes('a'); // true -
['a', 'b', 'c'].includes('d'); // false
includes()方法接收两个参数,搜索的内容和开始搜索的索引,默认值为0,若搜索值在数组中则返回 true否则返回 false。
-
['a', 'b', 'c', 'd'].includes('b'); // true -
['a', 'b', 'c', 'd'].includes('b', 1); // true -
['a', 'b', 'c', 'd'].includes('b', 2); // false
与 indexOf方法对比,下面方法效果相同:
-
['a', 'b', 'c', 'd'].indexOf('b') > -1; // true -
['a', 'b', 'c', 'd'].includes('b'); // true
includes()与indexOf对比:
-
includes相比 indexOf更具语义化, includes返回的是是否存在的具体结果,值为布尔值,而 indexOf返回的是搜索值的下标。 -
includes相比 indexOf更准确, includes认为两个 NaN相等,而 indexOf不会。
-
let a = [1, NaN, 3]; -
a.indexOf(NaN); // -1 -
a.includes(NaN); // true
另外在判断 +0与 -0时, includes和 indexOf的返回相同。
-
[1, +0, 3, 4].includes(-0); // true -
[1, +0, 3, 4].indexOf(-0); // 1
2 指数操作符(**)
基本用法:
-
let a = 3 ** 2 ; // 9 -
// 等效于 -
Math.pow(3, 2); // 9
**是一个运算符,也可以满足类似假发的操作,如下:
-
let a = 3; -
a **= 2; // 9











