這幾天整理的一下過往的文章和筆記痪寻,備份到了 Github 上硝桩,地址?? blog笙僚。
如果我的內(nèi)容幫助到了您成福,歡迎點個 Star
?????? 鼓勵鼓勵 :) ~~ ??
ES2016 包含了兩個新的功能:
- 冪運算符(
**
和**=
) - 數(shù)組方法
Array.prototype.includes
Array.prototype.includes()
includes()
確定給定元素是否包含在指定數(shù)組中碾局。如果存在返回 true
,否則返回 false
奴艾。
const arr = [10, 11, 3, 20, 5]
const includesTwenty = arr.includes(20)
console.log(includesTwenty) // true
includes
方法還接受一個可選參數(shù)來指定要從中搜索的索引净当。默認(rèn)情況下,index
參數(shù)為零蕴潦。
const arr = [1, 2, 3, 4, 5]
if(arr.includes(3, 2)) {
console.log('item found')
} else {
console.log('item not found')
}
拓展
includes
類似于 indexOf
:
arr.includes(x)
arr.indexOf(x) >= 0
主要區(qū)別在于 includes()
查找 NaN
像啼,而 indexOf()
沒有:
[NaN].includes(NaN) // true
[NaN].indexOf(NaN) // -1
includes
不區(qū)分 +0
和 -0
,幾乎所有 JavaScript 都是這樣工作的(除了 Object.is
):
[-0].includes(+0) //true
Object.is(+0, -0) // false
類型化數(shù)組也將有一個方法 includes()
:
let tarr = Uint8Array.of(12, 5, 3)
console.log(tarr.includes(5)) // true
冪運算符(**
和 **=
)
ES7 中引入了冪運算符(Exponentiation operator)**
潭苞,**
具有與 Math.pow(..)
等效的計算結(jié)果忽冻。
例如:a ** b
是 Math.pow(a, b)
的簡寫,a **= b
是 a = a ** b
的簡寫
console.log(2 ** 3) // 8
console.log(Math.pow(2, 3)) // 8
let num = 2
console.log(num **= 3) // 8
冪賦值運算符使一個變量為底數(shù)此疹、以右值為指數(shù)的指數(shù)運算(乘方)結(jié)果賦給該變量僧诚。