ES 6拡張演算子(3点演算子)...の使い方を記録します

1666 ワード

この記録はsegmentfaulのネットユーザーのコメントに由来し、特に感謝しています.
 ...演算子は配列を操作するために使用され、2つのレベルがあります.
1.最初は展開演算子(spread operator)と呼ばれ、文字通り物を展開する役割を果たします.arrayやobjectでも使えます.例:
 
let a = [1,2,3];
let b = [0, ...a, 4]; // [0,1,2,3,4]

let obj = { a: 1, b: 2 };
let obj2 = { ...obj, c: 3 }; // { a:1, b:2, c:3 }
let obj3 = { ...obj, a: 3 }; // { a:3, b:2 }

2.2つ目、3つ目は残りのオペレータ(rest operator)と呼ばれ、残りのものをarrayの中に入れて値を割り当てることを意味します.一般的にarrayの解构に対してだけで、他のは见たことがありません..例:
 
 
let a = [1,2,3];
let [b, ...c] = a;
b; // 1
c; // [2,3]

//    
let a = [1,2,3];
let [b, ...[c,d,e]] = a;
b; // 1
c; // 2
d; // 3
e; // undefined

//    
function test(a, ...rest){
  console.log(a); // 1
  console.log(rest); // [2,3]
}

test(1,2,3)

 
 
似たような
 
let array = [1, 2, 3, 4, 5];
const { x, y, ...z } = array;
//   z=[3, 4, 5],      array length       ,    z []
  :
let obj = { name: 'zhangsan', age: 30, city: 'shenzhen' };
const {name, ...others} = obj;
console.log(name); // 'zhangsan'
console.log(others); // {age: 30, city: 'shenzhen'}

オブジェクト展開演算子、オブジェクトブレンドと呼ぶことができます
let object = {
  a: '01', b: '02'
};

let newObject = {
  c: '03',
  ...object
};

console.log(newObject); //{c: "03", a: "01", b: "02"}

便利な配列統合
let arr1 = ['Aixi', 'Bill'];

let arr2 = ['Cate'];

let arr3 = [...arr1, ...arr2];
console.log(arr3); // ["Aixi", "Bill", "Cate"]

引き続き補充して、引き続き学習します