ES7特性總結

2021-09-11 14:18:03 字數 1820 閱讀 6209

不知道小夥伴們es6的特性學的怎麼樣了?es2016(es7)和es2017(es8)都已經要出來了,本文為大家整理介紹一下es7的新特性。

es7特性只有兩個:

array.prototype.includes(value:任意值): boolean

includes()方法用來判斷乙個陣列是否包含乙個指定的值,根據情況,如果包含則返回 true,否則返回false。

let a = [1, 2, 3];

a.includes(2); // true

a.includes(4); // false

複製**

語法:

arr.includes(searchelement)

arr.includes(searchelement, fromindex)

複製**

看到這裡大家會感覺和indexof方法很像,

[1, 2, 3].includes(1)   // true

[1, 2, 3].indexof(1) // 0

複製**

但是有一點和indexof不一樣,includes()方法能找到 nan,而indexof()不行:

[nan].includes(nan)    //true

[nan].indexof(nan) //-1

複製**

接下來我們看下polyfil

if (!array.prototype.includes) 

var o = object(this);

var len = o.length >>> 0;

if (len === 0)

var n = fromindex | 0;

var k = math.max(n >= 0 ? n : len - math.abs(n), 0);

while (k < len)

k++;

}return

false;

}});

}複製**

可以看到includes()方法的實現,就是用while迴圈陣列,如果找到了searchelement便返回true,否則返回false

在es6,如果你想做一些求冪運算的話,你需要用到math.pow(x, y)方法,

現在在es7 /es2016,以數學嚮導的開發者可以使用更短的語法:

let a = 7 ** 12

let b = 2 ** 7

console.log(a === math.pow(7,12)) // true

console.log(b === math.pow(2,7)) // true

複製**

**是一種運算子,就像+,-,*,/一樣,還可以

let a = 7

a **= 12

let b = 2

b **= 7

console.log(a === math.pow(7,12)) // true

console.log(b === math.pow(2,7)) // true

複製**

常用的es7特性

第乙個引數表示搜尋的值,第二個引數表示開始搜尋的位置預設是0 判斷陣列中是否包含某乙個元素,包含返回true,不包含返回false var arr di1 di2 di3 di4 let n arr.includes di1 let m arr.includes dd let x arr.inclu...

es7查詢總結

put nba create 1 put nba doc 2 put nba doc 3 put nba doc 4 put nba doc 5 put nba doc 6 put nba doc 7 查詢英文名稱為 golden state warriors 的球隊資訊 get nba searc...

ES6系列十 ES7新特性

陣列 arr.includes 陣列是否包含某個東西 陣列的 arr.keys arr,entries for in 遍歷陣列 下標 key for of 遍歷陣列 值 value,不能用於json let arr a b c console.log arr.includes 1 for let i...