JS의 스프레드 연산자 (...)와 나머지 연산자 (...)


1. 개념

JS에서 스프레드 연산자 (spread)는 3 포인트 (...)이고 나머지 연산자 (rest)도 3 포인트입니다.(...)

둘째, 스프레드 연산자

확산 연산자의 주요 기능은 배열을 쉼표로 구분 된 일련의 매개 변수로 변환하는 것입니다. 이는 나머지의 역 연산과 같습니다.

//传递数据代替多个字符串的形式
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"]

셋, 나머지 연산자

쉼표로 구분 된 일련의 값을 배열로 결합

//当函数参数个数不确定时,用 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]

네, 요약

스프레드 연산자 (spread)는 세 개의 점으로 표시되며 그 기능은 배열 또는 배열과 유사한 객체를 쉼표로 구분 된 일련의 값으로 확장하는 것입니다.

나머지 연산자 (rest)도 점 3 개이지만 그 기능은 쉼표로 구분 된 일련의 값을 배열로 결합하는 스프레드 연산자와 정확히 반대입니다.

세 개의 점 (...)이 등호 왼쪽에 있거나 공식 매개 변수에 배치되면 나머지 연산자입니다.

세 개가 등호의 오른쪽에 있거나 실제 매개 변수에 있으면 스프레드 연산자입니다.

즉, 나머지 연산자는 할당 된쪽에 배치됩니다. 스프레드 연산자를 한 방향으로 할당하십시오.


다섯, 참고 자료

어레이 확장-ECMAScript 6 소개

ES6의 스프레드 연산자 (스프레드) 및 나머지 연산자 (나머지)에 대한 자세한 설명

추천

출처blog.csdn.net/weixin_43974265/article/details/113030814