spread

배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장하여, 0개 이상의 키-값의 쌍으로 객체로 확장시킬 수 있다.

function sum(x, y, z) {
  return x + y + z;
}

const numbers = [1, 2, 3];

sum(...numbers);
let arr = [5, 6, 7];
let arr0 = [8, 9, 10];
let arr2 = [...arr, ...arr0]; // [5, 6, 7, 8, 9, 10];

let arr3 = [1, 2, 3];
let arr4 = [...arr3]; // 복사

immutable하기 때문에 새로운 배열에 재할당해야함

let obj1 = { foo: "bar", x: 42 };
let obj2 = { foo: "baz", y: 13 };

let clonedObj = { ...obj1 }; // {foo: 'bar', x: 42}
let mergedObj = { ...obj1, ...obj2 }; // {foo: 'baz', x: 42, y: 13}

rest

함수가 정해지지 않은 수의 매개변수를 배열로 받을 수 있다.

function sum(...theArgs) {
  return theArgs.reduce((previous, current) => {
    return previous + current;
  });
}

sum(1, 2, 3); // 6
sum(1, 2, 3, 4); // 10

배열의 메소드 사용
동시에 Math 사용

function biggest(...rest) {
  let max = 0;
  for (let i = 0; i < rest.length; i += 1) {
    if (max < rest[i]) {
      max = rest[i];
    }
  }
  return max;
}

let value = biggest(1, 2, 3);
let arr = [1, 2, 3, 4];
let value = Math.max(...arr); // 4

카테고리:

태그:

업데이트:

댓글남기기