ES6的学习总结
1、兼容性: IE10、Chrome、firefox、移动端、nodeJs
2、如果遇到兼容的解决方法:
a.尽量避免在不兼容的环境使用
b.编译、转化{
aa.在线转化:使用ES6时引入库 ----不推荐
bb.提前编译:(提前编译好,推荐)
}
babel === browser.js
ES6的新东西:
1.变量
2.函数
3.数组
4.字符串
5.面向对象
6.Promise (异步交互)
7.generator (同步操作拆成一部操作)
8.模块化
1.变量
var 的缺点
1.可以重复声明
var a = 5;
var a = 6;
alert(a) //6
2.无法限制修改
3.没有块级作用域
{
}
if(){
变量
}
在外面依然可以用变量
4.var的作用域是函数:当时用for循环来遍历的时候,用var来声明,打印出来的i都是长度,这个时候就需要用函数来解决这个问题
let 变量:
1.不能重复声明
2.常量可以修改的
3.有块级作用域---只在自己的作用域有效
let 不能变量提升
const 常量:
1.不能重复声明
2.常量不能修改
3.有块级作用域
{}里面的是块及作用域
2.箭头函数
() => {
}
1.如果只有一个参数,()可以省
this.onClick={e => ()=>{}}
2.如果只有一个return, { } 可以省
函数的参数:
1.参数扩展/展开
args是个数组
...args必须是最后一个形参
作用:
a.收集剩余参数
b.展开数组
2.默认参数 --传了你听我 的,不传听你的
解构赋值:
1.左右两边结构必须一样 --------不管多复杂,左右两边结构必须一样
数组:
JSON:
//粒度:拆成想要的大小,如我想要个json
2.右边必须是个东西----即右边的是个合法的格式
如let {a,b} = {11,16} //右边是不合法的JSON,会报错,JSON格式是key:value
3.声明和赋值不能分开(必须在一句话里完成)