es6总结(二)

原文链接: https://www.mk2048.com/blog/blog.php?id=h0jibihkihaa&title=es6%E6%80%BB%E7%BB%93%EF%BC%88%E4%BA%8C%EF%BC%89

1.es6三种声明方式:  

  a.var     全局声明

  b.let      局部变量声明  

  c.const       常量声明

2.变量的解构赋值

  a.数组的解构赋值

    等号左边与右边形式统一  let [a,[b,c],d]=[1,[2,3],4]; 

    可以使用默认值 let [a,b="paradise"]=['追逐者'] console.log(a b); 

      ps:undefined表示没有值  null有值值为null

  b.对象的解构赋值   

1 let {head,foot} = {head:'paradise',foot:'追逐者'};
2 console.log(head foot);

  变量必须与变量名相同

  c.如果变量之前已经定义,应用圆括号

1 let foot;
2 ({foo} ={foot:'追逐者'});
3 console.log(foot);

  d.字符串解构(和数组类似)

1 const [a,b,c,d,e,f,g,h]="Paradise";
2 console.log(a);
3 console.log(b);
4 console.log(c);
5 console.log(d);
6 console.log(e);
7 console.log(f);
8 console.log(g);
9 console.log(h);

3.扩展运算符和rest运算符

  解决参数和对象数组未知情况下编程

  a.对象扩展运算符(...)

function paradise(...aaa){
    console.log(aaa[0]);
    console.log(aaa[1]);
    console.log(aaa[2]);
    console.log(aaa[3]);
 
}
paradise(1,2,3,4);

    这样可以传入n个输入,而不报错

let arr1=['aaa','bbb','ccc'];
//let arr2=arr1;
let arr2=[...arr1];
console.log(arr2);
arr2.push('ddd');
console.log(arr2);
console.log(arr1);

    解决引用问题(直接引用时,改变arr2的同时,arr1也会改变)

   b.rest运算符(...)

1 function paradise(first,...arg){
2     for(let val of arg){
3         console.log(val);
4     }
5 }
6  
7 paradise(0,1,2,3,4,5,6,7); //输出7

更多专业前端知识,请上 【猿2048】www.mk2048.com

猜你喜欢

转载自blog.csdn.net/mabeizui9231/article/details/102747629