1. 程式人生 > >es6 物件擴充套件運算子 res運算子

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);