1. 说出至少5个ES6的新特性,并简述他们的作用
1》let关键字,用于声明只在块级作用域起作用的变量;
2》const关键字,用于声明一个常量;
3》解构赋值,一种新的变量赋值方式。常用于交换变量值,提取函数返回值,设置默认值。
例如:var {a,b,c} = {"c":10,"b":9,"a":8},结果中,a,b,c的值分别是:()
8,9,10(解析:对象的解构赋值不会受到属性的排列次序影响)
4》Symbol数据类型,定义一个独一无二的值。
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
})
)