重学es6笔记

109 阅读1分钟

新收获

  1. for循环,()和{}是两个作用域
  2. 解构已存在变量,需要加上()
let x; ({x} = {x: 1});
  1. 数组当对象解构
let arr = [1,2,3];
let { 0: first } = arr;
first // 1
  1. 字符串也可以解构

如果默认值是一个表达式,那么这个表达式是惰性求值的,

function f() {
  console.log('aaa');
}

let [x = f()] = [1];

字符串方法

新增是否包含、是否在首、尾;首补全字符 padStart(4)// 省略第二个参数则空格补全、消除不可见符方法

数字

isNaN、ES6 将全局方法 parseInt移植到Number上、isInteger

Math对象扩展

Math.trunc // 除去小数部分

函数的扩展

  1. function参数默认值临时作用域
  2. 箭头函数没有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]