es6 对象扩展运算符 res运算符

Posted feng-xl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6 对象扩展运算符 res运算符相关的知识,希望对你有一定的参考价值。

当我们对参数的个数不确定时,可以用对象拓展运算符

funtion lala(...arg){

  console.log(arg[0]); 1 

  console.log(arg[1]); 2

  console.log(arg[2]); 3

  console.log(arg[3]); undefined

}

lala(1,2,3);

 

let arr1 = [‘aaa‘,‘lala‘,‘con‘];

let arr2 = arr1;

console.log(arr2);  [‘aaa‘,‘lala‘,‘con‘];

arr2.push(‘chengdu‘);

console.log(arr1)   [‘aaa‘,‘lala‘,‘con‘,‘chengdu‘];

引用导致.我们不想改变arr1 

 

可用对象扩展符来实现

let arr1 = [‘aaa‘,‘lala‘,‘con‘];

let arr2 = [...arr1];  //把arr1数组的每个元素给arr2

console.log(arr2);  [‘aaa‘,‘lala‘,‘con‘];

arr2.push(‘chengdu‘);

console.log(arr2);  [‘aaa‘,‘lala‘,‘con‘,‘chengdu‘];   

console.log(arr1)   [‘aaa‘,‘lala‘,‘con‘];   //达到目的,没有改变arr1 ,

 

 

rest运算符

rest  剩余的意思  就是剩余的参数

function lalaJs(first,...arg){

   console.log(arg.length);  5

}

lalaJs(1,2,3,4,5,6);  

 

function lalaJs(first,...arg){

  for(let i = 0; i<arg.length;i++){

  console.log(arg[i]);  2,3,4,5,6

   } 

  这中循环 影响效率 有更好的是用for of 来写循环

  for(let val of arg){

    console.log(val);  2 3 4 5 6

  }

}

lalaJs(1,2,3,4,5,6);  

 

以上是关于es6 对象扩展运算符 res运算符的主要内容,如果未能解决你的问题,请参考以下文章

ES6对象扩展——扩展运算符

es6~扩展运算符后续

使用对象扩展运算符(ES6、JavaScript)添加多个对象

ES6扩展运算符(三点运算符)“...”用法和对象拷贝

Babel 无法使用扩展运算符编译 ES6 对象克隆

ES6随笔--各数据类型的扩展--数组和对象