1. 说出至少5个ES6的新特性,并简述他们的做用promise
1》let关键字,用于声明只在块级做用域起做用的变量;数据结构
2》const关键字,用于声明一个常量;异步
3》解构赋值,一种新的变量赋值方式。经常使用于交换变量值,提取函数返回值,设置默认值。函数
例如:var {a,b,c} = {"c":10,"b":9,"a":8},结果中,a,b,c的值分别是:()ui
8,9,10(解析:对象的解构赋值不会受到属性的排列次序影响)spa
4》Symbol数据类型,定义一个独一无二的值。code
5》for...of遍历,可遍历具备iterator接口的数据结构。对象
6》Set结构,存储不重复的成员值的集合。继承
7》Map结构,键名能够是任何类型的键值对集合。接口
8》Promise对象,更合理,规范的处理异步操做。
9》Class类定义类和更简便的实现类的继承。
2. 使用解构赋值,实现两个变量的值的交换
let a=1;
let b=2;
[a,b]=[b,a];
3.使用模板字符串改写下面的代码。(ES5 to ES6改写题)
let iam = "我是"; let name = "大彬哥"; let str = "你们好,"+iam+name+",我想死大家啦。";
改写成模板字符串:
let iam = `我是`; let name = `大彬哥`; let str = `你们好,`+${iam+name}+`,我想死大家啦。`;
4.promise对象的用法,手写一个promise
promise是一个构造函数:
var promise = new Promise((resolve,reject)=>{
if(操做成功){
resolve(value)
}else{
reject(error)
}
})
promise.then(function (value){
//success
},function(value){
//failure
})
)