JavaScript基础:ES6

218 阅读1分钟
  1. let

  2. const

  3. 解构赋值

  4. 扩展运算符

  5. 箭头函数

    // 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象
    // 不可以当作构造函数,也就是说,不可以使用new命令
    // 不可以使用arguments对象,该对象在函数体内不存在,如果要用,可以用rest参数替代
    // 箭头函数不能用作Generator函数
    
  6. promise/symbol/async,await

    promise对象的状态
    pending:初始化状态
    fullfilled: 成功状态
    rejected:失败状态
    

async,await使用promise来实现

getConstant() {
   return 1
 }

 async getAsyncConstant() { 
  return 1
 }

 async getPromise() {
  return new Promise((resolved, rejected)=> {
    resolved(1)
  });
 }

 async test() {
  let a = 2
  let c = 1
  await getConstant();
  let d = 3
  await getPromise();
  let d = 4
  await getAsyncConstant();
  return 2
 }

//执行顺序
function getConstant() {
   return 1;
}

function getAsyncConstant() {
  return Promise.resolve().then(function () {
   return 1;
  });
}

function getPromise() {
  return Promise.resolve().then(function () {
   return new Promise((resolved, rejected) => {
    resolved(1);
   });
  });
}

  test() {
    return Promise.resolve().then(function () {
       let a = 2;
       let c = 1;
       return getConstant();
     }).then(function () {
       let d = 3;
       return getPromise();
     }).then(function () {
       let d = 4;
       return getAsyncConstant();
     }).then(function () {
       return 2;
     });
 }

7.Array.filter(Boolean)

filter方法的目的是移除所有的false的元素(false,null,undefined,0,NaN,'')
Boolean是一个函数,它会对遍历数组中的元素,并根据元素的真假类型,返回对应的true或false;

Boolean(0) //false; Boolean(true) //true

let a = [1,2,null,0]a.filter(Bollean)
// 等价于
a.filter(function(val){return Boolean(val)})