1.基本使用
陣列
let arr = [1,2,3,4,5];let arr2 =[...arr];
console.log(arr2);
//[ 1, 2, 3, 4, 5 ]
console.log(arr2 ==arr);
//false
物件
let obj = ;let obj2 =;
console.log(obj2);
==obj2);
//false
字串轉陣列
let str = "hello";let str2 =[...str];
console.log(str2);
//[ 'h', 'e', 'l', 'l', 'o' ]
2.函式傳值;
functionfn(a,b,c)
let arr = [1,2,3];
//es5
//fn(arr[0],arr[1],arr[2]);
////
es6fn(...arr);//1
23
3.陣列拷貝
let arr = [1,2,3,4];let arr2 =[...arr];
arr2.push(5);
console.log(arr);
//[ 1, 2, 3, 4 ]
console.log(arr2);
//[ 1, 2, 3, 4, 5 ]
console.log(arr ==arr2);
//false
4.物件拷貝
let obj = ;let obj2 =;
obj2.c = 3;
console.log(obj);
2); ==obj2);
//false
5.代替陣列的unshift方法
let arr = [1,2,3];let arr2 = [4,5,...arr];
console.log(arr);
//[ 1, 2, 3 ]
console.log(arr2);
[ 4, 5, 1, 2, 3]
console.log(arr ==arr2);
false
6.代替陣列的push方法
let arr = [1,2,3];let arr2 = [...arr,4,5,"a",null,undefined,function
(){},symbol];
console.log(arr);
//[ 1, 2, 3 ]
console.log(arr2);
[ 1, 2, 3, 4, 5, 'a', null
, undefined, [function], [function: symbol] ]
console.log(arr ==arr2);
//false
7.配合解構使用
陣列
let [a,...arr] = [1,2,3,4,5];console.log(a);//1
console.log(arr);
//[ 2, 3, 4, 5 ]
物件
let = ,d:null,e:undefined,e:symbol};
console.log(a);//1
console.log(obj);
//
8.總結
放在被賦值一方為rest運算子,放在賦值一方為擴充套件運算子
ES6 擴充套件運算子
擴充套件運算子用3個點表示,功能是把陣列或者類陣列物件展開成一系列用逗號隔開的值 1,陣列 let arr red green blue console.log arr red,green,blue拷貝陣列 和object.assign一樣都是淺拷貝 let arr red green blue l...
ES6擴充套件運算子
首先,我們要讀仔細下面這句話,就很容易知道擴充套件運算子的使用了,可以在心裡反覆讀三遍 接下來,我們看下究竟怎麼個情況 宣告乙個方法 var foo function a,b,c console.log a console.log b console.log c 宣告乙個陣列 var arr 1,2...
es6擴充套件運算子
1 複製 拷貝 陣列 陣列元素都是基本資料型別 var arr a b c var copy arr console.log copy a b c arr copy false2 函式呼叫 陣列作引數 function add x,y var numbers 4 38 add numbers 423...