-
let
-
const
-
解构赋值
-
扩展运算符
-
箭头函数
// 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象 // 不可以当作构造函数,也就是说,不可以使用new命令 // 不可以使用arguments对象,该对象在函数体内不存在,如果要用,可以用rest参数替代 // 箭头函数不能用作Generator函数 -
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)})