Javascript : spread와 rest

kimsnmyng·2024년 12월 8일

Vanilla Javascript

목록 보기
13/23
// spread 연산자
// -> 객체나 배열에 저장된 여러개의 값을 개별로 흩뿌려주는 역할

let arr1 = [1, 2, 3];
let arr2 = [4, ...arr1, 5, 6];
console.log(arr2) // 4, 1, 2, 3, 5, 6

let obj1 = {
  a: 1,
  b: 2,
};

let obj2 = {
  ...obj1,
  c: 3,
  d: 4,
};

console.log(obj2) // a: 1, b:2, c: 3, d: 4


function funcA (p1, p2, p3) {
  console.log(p1, p2, p3)
}

funcA(...arr1); // 3개의 매개변수가 들어가게 됨

// 2. Rest 매개 변수
// -> 나머지 매개변수

function funcB (one, ...rest) { // 첫번째로 전달되는 인수는 one에 저장되고 이후의 값들은 rest에 저장된다. one, two, ...rest 이렇게 OK
  // 그러나 REST 이후에 추가적인 매개변수를 저장할 수 는 없다. 반드시 마지막에 오도록 설정해야한다.
  console.log(rest); // 매개변수로 모든 값들이 배열에 한방에 저장된다. [1,2,3], 0:1, 1:2, 2:3
} // spread와 rest는 엄연히 다르다.
funcB(...arr1);
profile
안녕하세요 김선명입니다.

0개의 댓글