JSのスプレッド演算子(...)と残りの演算子(...)


1.コンセプト

JSでは、spread演算子(spread)は3ポイント(...)であり、rest演算子(rest)も3ポイントです。(...)

第二に、スプレッド演算子

スプレッド演算子の主な機能は、配列をコンマで区切られたパラメーターのシーケンスに変換することです。これは、restの逆演算のようなものです。

//传递数据代替多个字符串的形式
function  test(a,b,c){
    
    
  console.log(a); // 1
  console.log(b); // 2
  console.log(c); // 3
}

var arr = [1, 2, 3];
test(...arr);

//将一个数组插入到另一个数据中
var arr1 = [1,2,3];
var arr2 = [...arr1, 4, 5, 6];
console.log(arr2); // [1, 2, 3, 4, 5, 6]

//字符串转数据
var str = 'hello';
var arr3 = [...str];
console.log(arr3); // ["h", "e", "l", "l", "o"]

3、残りのオペレーター

コンマで区切られた値のシーケンスを配列に結合します

//当函数参数个数不确定时,用 rest运算符
function f1(...args) {
    
    
  console.log(args); // [1,2,3]
}

f1(1,2,3);

//当函数参数个数不确定时的第二种情况
function f2(item, ...arr) {
    
    
  console.log(item); // 1
  console.log(arr);  // [2,3]
}
f2(1, 2, 3);

//rest运算符配合 解构使用
let [a,...temp]=[1, 2, 4];
console.log(a);    // 1
console.log(temp); // [2,4]

4、まとめ

スプレッド演算子(スプレッド)は3つのドットで表され、その機能は、配列または配列のようなオブジェクトをコンマで区切られた一連の値に展開することです。

残りの演算子(rest)も3つのドットですが、その機能はスプレッド演算子とは正反対であり、コンマで区切られた一連の値を組み合わせて配列にします。

3つのドット(...)が等号の左側にある場合、または仮パラメーターに配置されている場合、それは残りの演算子です

3つが等号の右側、または実際のパラメーターにある場合、それはスプレッド演算子です。

言い換えると、残りの演算子は割り当てられた側に配置されます。スプレッド演算子を一方向に代入します。


5、参考資料

配列拡張-ECMAScript6の概要

ES6のスプレッド演算子(スプレッド)と残りの演算子(レスト)の詳細な説明

おすすめ

転載: blog.csdn.net/weixin_43974265/article/details/113030814