es7预览
哈哈,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
------------------------------------------------------------------------------