ES7新特性——Array.prototype.includes()、幂运算 **
程序员文章站
2022-07-16 15:14:19
...
1、Array.prototype.includes()方法
Array.prototype.includes()的作用,是查找一个值在不在数组里,若在,则返回true,反之返回false。
Array.prototype.includes()方法接收两个参数:要搜索的值和搜索的开始索引。当第二个参数被传入时,该方法会从索引处开始往后搜索(默认索引值为0)。若搜索值在数组中存在则返回true,否则返回false。
基本用法:
// 不传入第二个参数时,默认从头开始索引
console.log( ['a', 'b', 'c'].includes('a') ) // true
console.log( ['a', 'b', 'c'].includes('d') ) // false
// 我们会联想到ES6里数组的另一个方法indexOf,下面的示例代码是等效的:
console.log( ['a', 'b', 'c'].indexOf('a') > -1 ) //true
// 第二个参数被传入时,该方法会从索引处开始往后搜索
['a', 'b', 'c', 'd'].includes('b', 1) // true
['a', 'b', 'c', 'd'].includes('b', 2) // false
let demo = [1, NaN, 2, 3]
console.log( demo.indexOf(NaN) ) //-1 (匹配不到)
console.log( demo.includes(NaN) ) //true (匹配得到)
提示:由于includes()对NaN的处理方式与indexOf()不同。假如你只想知道某个值是否在数组中而并不关心它的索引位置,建议使用includes()。如果你想获取一个值在数组中的位置,那么你只能使用indexOf方法。
2、求幂运算符( ** )
基本用法:
console.log( 2 ** 3) // 8
let a = 3
a **= 2
console.log(a) // 9
效果同:
console.log( Math.pow(3, 2) ) // 9
**
是一个用于求幂的中缀算子,比较可知,中缀符号比函数符号更简洁,这也使得它更为可取。
如果想了解更多es7/es8新特性:
参考原文:https://blog.csdn.net/zuggs_/article/details/80650436
上一篇: [Python]链式赋值(Chained assignment)
下一篇: Redux