作用:简化字符串的拼接
模板字符串必须用``包含
变化的部分使用${xxx}包含
同名的属性可以省略不写
箭头函数的特点
箭头函数没有自己的this,箭头函数的this不是调用的时候决定的,而是在定义的时候处在的对象就是它的this
扩展理解:
箭头函数的this看外层的是否有函数
如果有,外层函数的this就是内部箭头函数的this
如果没有,则this是window
形参的情况
没有形参的时候
let fun1 = () => console.log(a);
fun1();
只有一个形参的时候
let fun2 = a => console.log(a);
fun2(‘aaa‘);
3.两个及两个以上的形参的时候 ()不能省略
let fun3 = (x,y) => console.log(a);
fun3(35,52);
函数体的情况
函数体只有一条语句或者是表达式的时候{}可以省略------>会自动但会语句执行的结果或者是表达式的结果
函数体不止一条语句或者是表达式的情况下{}不可以省略
1.rest(可变)参数
用来取代arguments ,但比arguments灵活,只能是最后部分形参参数
2.扩展运算符
1.理解
promise对象:代表了未来某个将要发生的时间(通常是一个异步操作)
有了promise对象,可以将异步操作以同步的流程表达出来,避免了层层嵌套的回调函数(俗称回调函数)
ES6的Promise是一个构造函数,用来生成promise实例
2.使用promise对象的基本步骤
# 创建promise对象
let promise = new Promise((resolove,reject) => {
//初始化状态为pending
//执行异步操作
if(异步操作成功){
resolve(value); //修改promise的状态为fullfilled
}else{
reject(errMsg); //修改promise的状态为rejected
}
})
# 调用promise的then()
promise.then(function(
result => console.log(result),
erroring => alert(erroring)
)
3.promsie对象的3个状态
pending:初始化状态
fullfilled:成功状态
rejected:失败状态
4.应用
使用premise实现超试处理
使用promise封装处理ajax请求
let requset = new XMLHttpRequset();
requset.onreadystatechange = function(){
}
request.responseType = ‘json‘;
requset.open(‘GET‘,url);
requset.send();
ES6新增的原始数据类型
特点:
Symbol属性值对应的值是唯一的,解决命名冲突问题
Symbol值不能与其他数据进行计算,包括同字符串拼串
3.for in,for of遍历时不会遍历symbol属性
使用:
调用Symbol函数得到symbol值
传参标识
内置Symbol值
除了定义自己使用的Symbol值以外,ES6还提供了11个内置的Symbol值,指向语言内部使用的方法
Symbol.iterator
对象的Symbol.iterator属性,指向该对象的默认遍历器方法
将iterator接口部署到指定的数据类型上,可以使用for of循环遍历
数组,字符串,arguments,set容器,map容器
ES6(模板字符串,三点运算符,Symbol,iterator接口)
原文:https://www.cnblogs.com/yaokai729/p/11370160.html