ES6(一)

新增:
1.定义变量
之前:var a=12;
特点:只有在函数里才有作用域;
允许重复定义;
用法:封闭空间(function(){var a=12;})()
ES6:let a=12;(已经被浏览器支持)
特点:只要在代码块(就是用{}包起来的代码块if、for…)里面let具备块级作用域;
不允许重复定义;
用法:封闭空间{let a=12;}
总结 :块级作用域就是匿名函数立即调用;
2.const——用来定义常量,一旦定义了就不能被修改(必须有初始值,同样不能重复定义); const a=12;
3.字符串连接
之前:’abc’+变量名+’def’;
ES6:’abc${变量名}der’;
4.解构赋值:

    var [a,b,c]=[12,5,101];
    console.log(a,b,c);//12 5 101
    var {a,b,c}={a:12,c:101,b:5};
    console.log(b)//5    跟顺序无关  

模式匹配:左侧样式和右侧要一样

    var [a,[b,c],d]=[12,[1,2],5];
    console.log(a,b,c,d);
    var [a,[b,c],{d,e}]=[12,[1,2],{d:ddd,e:eee}];
    console.log(a,b,c,d,e);

解构赋值给默认值

    var {time=12,id=0}={};
    console.log(time,id);//12 0

5.复制数组:
之前:
1)循环(基本方法)

    var arr=[1,2,3];
    var arr2=[];
    for(var i in arr){
        arr2[i]=arr[i];
    }
    arr2.push(4);
    console.log(arr);

ES6:
2)Array.from(arr);

    var arr=[1,2,3];
    var arr1=Array.from(arr);
    arr2.pop();
    console,log(arr,arr2);

3)超引用:

    var arr=[1,2,3];
    var arr2=[...arr];
    arr2.pop();
    console.log(arr,arr2);
   function show(...args){
       args.push(5);//在这里通过(三个点)的方法,将一个实参伪数组变成数组;
       console.log(args);
   }
   show(1,2,3,4);

6.循环:
之前:for
for in
ES6:for of 循环(遍历,迭代)不能循环json对象,正真的目的是用来循环map对象;

    var arr=["apple","banana","orange","pear"];
    for(var i in arr){
        console.log(i);//0 1 2 3
    }
    for(var i of arr){
        console.log(i);//apple banana orange pear
    }   
    var json={'a':apple,'b':banana,'c':orange,'d':pear};
    for(var key in json){
        console.log(key);//a b c d
    }

Map对象:和json相似,也是键值对存在,主要是为和for of循环配合而生的。
创建:var map=new Map();
设置:map.set(name,value);
获取:map.get(name);
删除:map.delete(name);
遍历Map不能用for in
map.entries();map的实体

    var map=new Map();
    map.set('a','apple');
    map.set('b','banana');
    map.set('c','orange');
    map.set('d','pear');
    for(var name of map){//全写:for(var name of map.entries())
        console.log(name);//a,apple b,banana c,orange d,pear
    }
    for(var [name,value] of map){
        console.log(name,value);//a apple b banana c orange d pear
    }
    for(var name of map.keys){//只循环key
        console.log(name);//a b c d
    }
    for(var name of map.values){//只循环value
        console.log(name);//apple banana orange pear
    }

7.函数
之前:
ES6:
箭头函数:

()=>{}

this:指向window
arguments:不能使用
对象:
对象语法简洁:
单例模式:

    var name='abb';
    var age=101;
    var preson={
        name,
        age,
        showName(){
            return this.name;
        },
        showAge(){
            return this.age;
        }
    }       

面向对象:
之前:
ES6:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值