ES6的学习总结

1、兼容性:    IE10、Chrome、firefox、移动端、nodeJs
2、如果遇到兼容的解决方法:
        a.尽量避免在不兼容的环境使用
        b.编译、转化{
                                aa.在线转化:使用ES6时引入库  ----不推荐
                                
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都是长度,这个时候就需要用函数来解决这个问题
ES6的学习总结



let 变量:
1.不能重复声明
ES6的学习总结
2.常量可以修改的
3.有块级作用域---只在自己的作用域有效
ES6的学习总结输出的结果是他们的索引

let 不能变量提升
ES6的学习总结


const 常量:
1.不能重复声明
2.常量不能修改
ES6的学习总结
3.有块级作用域
        {}里面的是块及作用域

2.箭头函数
() => {

    }
ES6的学习总结

ES6的学习总结


1.如果只有一个参数,()可以省
      this.onClick={e => ()=>{}}
ES6的学习总结


2.如果只有一个return, { } 可以省
ES6的学习总结
ES6的学习总结

函数的参数:
1.参数扩展/展开
ES6的学习总结

args是个数组
...args必须是最后一个形参
ES6的学习总结
作用:
a.收集剩余参数
b.展开数组
ES6的学习总结
ES6的学习总结






2.默认参数 --传了你听我 的,不传听你的
ES6的学习总结

解构赋值:
    1.左右两边结构必须一样   --------不管多复杂,左右两边结构必须一样
数组:
ES6的学习总结即:a=1,b=2,c=3  一一对应
JSON:

ES6的学习总结

ES6的学习总结
//粒度:拆成想要的大小,如我想要个json
ES6的学习总结

ES6的学习总结

ES6的学习总结


    2.右边必须是个东西----即右边的是个合法的格式

如let {a,b} = {11,16}    //右边是不合法的JSON,会报错,JSON格式是key:value

    3.声明和赋值不能分开(必须在一句话里完成)
ES6的学习总结

ES6的学习总结解构赋值,声明和赋值必须写在一块,不能换行


待续。。。。。