新收获
- for循环,()和{}是两个作用域
- 解构已存在变量,需要加上()
let x; ({x} = {x: 1});
- 数组当对象解构
let arr = [1,2,3];
let { 0: first } = arr;
first // 1
- 字符串也可以解构
如果默认值是一个表达式,那么这个表达式是惰性求值的,
function f() {
console.log('aaa');
}
let [x = f()] = [1];
字符串方法
新增是否包含、是否在首、尾;首补全字符 padStart(4)// 省略第二个参数则空格补全、消除不可见符方法
数字
isNaN、ES6 将全局方法 parseInt移植到Number上、isInteger
Math对象扩展
Math.trunc // 除去小数部分
函数的扩展
- function参数默认值临时作用域
- 箭头函数没有argument对象
数组的扩展
rest 模式
const arr = [1,2,3,4];
const [first,...res] = arr;
console.log("first: ", first);
console.log("res: ", res)
Array.from,将类数组接口转换为真数组iterator,所谓类似数组的对象,本质特征只有一点,即必须有length属性。因此,任何有length属性的对象,都可以通过Array.from方法转为数组
- Array.of
Array.of(3, 11, 8) // [3,11,8]