ES2016(ES7)新特性
ES2016(ES7)新特性
ES2016(ES7)中新增了以下两个小特性👇:
- 数组
includes()
方法 - 指数运算符,与
Math.pow()
相同
1、Array.prototype.includes()
【说明】
includes()
函数用来判断一个数组是否包含一个指定的值,如果包含则返回true
,否则返回false
。
【语法】
Array.includes(searchElement [, fromIndex])
【类型声明】
interface Array<T> {
includes(searchElement: T, fromIndex?: number): boolean;
}
【方法】
// 判断一个数组是否包含一个指定的值,如果包含则返回true,否则返回false。
includes(valueToFind);
// 从索引位置(fromIndex)开始向后查找,判断元素是否存在。
includes(valueToFind, fromIndex)
【使用案例】
let arr = [2, 3, 4, 5, 6, 7, NaN];
console.log(arr.includes(3)); // true
console.log(arr.includes(7)); // true
console.log(arr.includes(NaN)); // true
console.log(arr.indexOf(NaN)); // -1 匹配不到
console.log(arr.includes(4, 0)); // true 从数组第一个位置开始查找,存在4这个元素,则返回true
console.log(arr.includes(4, 1)); // true 从数组第二个位置开始查找,存在4这个元素,则返回true
console.log(arr.includes(4, 2)); // true 从数组第三个位置开始查找,存在4这个元素,则返回true
console.log(arr.includes(4, 3)); // false 从数组第四个位置开始查找,不存在4这个元素,则返回false
console.log(arr.includes(4, 4)); // false 从数组第五个位置开始查找,不存在4这个元素,则返回false
console.log(arr.includes(4, 5)); // false 从数组第六个位置开始查找,不存在4这个元素,则返回false
// 如果fromIndex为负值,使用数组长度 + fromIndex计算出的索引作为新的fromIndex,如果新的fromIndex为负值,则fromIndex会重置为零,重新搜索整个数组。
console.log(arr.includes(4, -20)); // true <-> 相当于 arr.includes(4,0)
console.log(arr.includes(4, -1)); // false <-> 相当于 arr.includes(4,5)
2、** 指数运算符
console.log(2 ** -1); // 0.5
console.log(2 ** 0); // 1
console.log(2 ** 1); // 2
console.log(2 ** 10); // 1024
console.log(Math.pow(2, 10)); // 1024