TIL

dev-whol·2021년 4월 23일
0

✍🏻 Spread/Rest 문법

Spread

  • 객체 혹은 배열을 펼칠 수 있다.
  • 기존의 객체 혹은 배열을 건들이지 않고, 새로운 객체 혹은 배열을 만든다.
    function num(x, y, z) {
      return x + y + z;
    }
    const arr = [5, 6, 7];
    num(...arr) // 18

Rest

  • 파라미터를 객체 혹은 배열 형태로 펼쳐서 받을 수 있다.
  • 파라미터 개수가 가변적일 때 유용하다.
    function num(...args){
      return args.filter(el => el % 2 === 0);
    }
    num(1,2,3,4,5,6); // [2,4,6]

배열편

  • 합치기 (다음 요소에 펼쳐진다)

    let arr1 = [1,2,3];
    let arr2 = [4,5,6];
    arr1 = [...arr1, ...arr2]; // [1, 2, 3, 4, 5, 6]
  • 복사

    let arr = [1,2,3];
    let arr2 = [...arr];
    arr2 // [1,2,3]
    arr2.push(4)
    arr2 // [1,2,3,4]
    arr // [1,2,3] --> 원본에 영향을 주지 않음

객체편

  • 합치기 (같은 키의 값은 바뀌고 없는 키는 추가된다)
    let obj1 = { name: "John", gender: "male" };
    let obj2 = { name: "Harry", age: "26" }
    let clonedObj = {...obj1};
    let mergedObj = {...obj1, ...obj2};
    clonedObj // { name: "John", gender: "male" };
    mergedObj // { name: "Harry", gender: "male", age: "26" }

0개의 댓글