es7预览

时间:2021-09-12 20:45:32

哈哈,es6才刚刚掌握,就给大家介绍es7了。

es7的草案其实早已经定下来了,而且更加向着java这些高级语言看齐了

chrome的高版本其实也已经对es7的部分功能实现了!!

1.数组 includes
数组是否包含某个东西 返回boolean

2.数组循环  keys/values/entries

    数组                          json
for...in    key                            key

for...of    keys|entries|values        拿不出东西

let arr = [12,5,8,99,30];
for(let i of arr){
console.log(i); //默认返回values 12,5,8,99,30
} for(let i of arr.keys()){
console.log(i); //返回 0,1,2,3,4
} for(let i of arr.entries()){
console.log(i); //返回 键值对 (2) [0, 12],[1, 5],[2, 8],[3, 99],[4, 30]
} let json={a:123,b:456,c:789}
for(let i of arr){
console.log(i); //报错 json is not iterable
}

keys=>所有的key拿出来 0,1,2,3,4,...
values=>所有的values拿出来 12,5,8,99,...
entries=>所有的key-value对拿出来 {key: 0, value: 12}, {key: 1, value: 5}, ...
*entry实体

------------------------------------------------------------------------------

3.幂 Math.pow(2,8) 等价于 2**8

------------------------------------------------------------------------------

4.startsWith/endsWith

'abc'.startsWith('b');  //false
'abc'.startsWith('ab'); //true

padStart/padEnd 字符位数不够,补全

'abc'.padStart(10);  // "       abc"
'abc'.padStart(10,0); //"0000000abc"

------------------------------------------------------------------------------

5.语法容忍度
[12,6,8] => [12,6,8,] ES6

function show(a,b,c,){ ES7

}

------------------------------------------------------------------------------

6.更强悍的generator  这也是我最期待的一个点

generator yield
async await

1.不依赖于外部的runner了——统一、性能
2.可以用箭头函数

await 后面可以跟三种东西:generator、async、promise

------------------------------------------------------------------------------