[JS] 스프레드 문법과 Rest 파라미터

Marco·2021년 11월 1일
0

Javascript TIL

목록 보기
1/12

[책] 모던 자바스크립트 Deep Dive(이웅모 저) 내용 발췌

Rest 파라미터

  • Rest 파라미터(나머지 매개변수)는 매개변수 이름 앞에 세 개의 점 ...을 붙여서 정의한 매개변수를 의미한다. Rest 파라미터는 함수에 전달된 인수들의 목록을 배열 로 전달받는다. Rest 파라미터는 이름 그대로 먼저 선언된 매개변수에 할당된 인수를 제외한 나머지 인수들로 구성된 배열이 할당된다. 따라서 Rest 파라미터는 반드시 마지막 파라미터이어야 한다. Rest파라미터는 단 하나만 선언할 수 있다.

    function bar(param1, param2, ...rest) {
      console.log(param1); //1
      console.log(param2); //2
      console.log(rest); //[3,4,5]
    }
    
    bar(1, 2, 3, 4, 5);

스프레드 문법

ES6에서 도입된 스프레드 문법 ...은 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만든다.

  • 스프레드 문법의 결과는 값이 아니고 값들의 목록이다. 스프레드 문법의 결과는 변수에 할당할 수 없다. 함수 호출문의 인수 목록, 배열 리터럴의 요소 목록, 객체 리터럴의 프로퍼티 목록에서만 사용할 수 있다.
  • 함수 호출문의 인수 목록에서 사용하는 경우
    const arr = [1, 2, 3];
    const max = Math.max(...arr);
    console.log(max); //3
    • 스프레드 문법Rest 파라미터 와 형태가 동일하여 혼동할 수 있으나 서로 반대의 개념이므로 주의할 필요가 있다.
      • Rest 파라미터는 함수에 전달된 인수들의 목록을 배열로 전달받기 위해 매개변수 이름 앞에 ...을 붙이는 것이다.
      • 스프레드 문법은 여러 개의 값이 하나로 뭉쳐 있는 배열과 같은 이터러블을 펼쳐서 개별적인 값들의 목록을 만드는 것이다.
profile
블로그 이사 🚚 https://wonsss.github.io/

0개의 댓글