JavaScript ) Arguments와 Rest

윤보라·2023년 1월 1일

자바스크립트

목록 보기
7/11

ArgumentsRest는 모두 함수의 파라미터를 한꺼번에 다룰 수 있게 하는 문법이다.

Arguments는 옛날식, Rest는 ES6 신규문법.


1. Arguments

: 이미 arguments로 정의되어있고, 모든 파라미터를 포함하고 있다.

function 함수(a,b,c){
  console.log(arguments)
}

함수(1,2,3); // [1,2,3]을 담고있는 array와 비슷한 자료가 출력됨!!

arguments 안에서 파라미터를 하나씩 꺼내어 쓰는건
arguments[i] 와 같이 쓸수있다!

  • arguments의 단점
    : 파라미터 전체가 아닌 일부에만 반복문 등을 사용하고 싶다면, arguments 자체를 쪼개서 복잡하게 꺼내야한다.
// 모든 파라미터를 콘솔에 출력반복 => 아래처럼 쉽다
function 함수(a,b,c){
  for (var i = 0; i < arguments.length; i++){
    console.log(arguments[i])
  }
}
// 근데 일부만 꺼내쓰려면?? 복잡해진다..

2. Rest

: 어떤 이름으로 정의하든 상관 없이, ...을 붙여주면 rest 파라미터가 된다. 이 파라미터의 자리와 그 뒤의 모든 파라미터를 한 배열로 묶어준다.

                       ↓ 어떤 이름이든 상관x
function 함수(a,b, ...rest){
  console.log(rest)
}

함수(1,2,3,4,5); // [3,4,5] 출력

arguments와 매우 유사하나, rest 파라미터에 안담고 싶은 파라미터들을 따로 빼 줄 수 있어서, 담고싶은 파라미터들만 간편하게 담아줄 수 있다.

  • 주의점
    : rest는 파라미터들의 가장 마지막에 사용해야하며, 한번만 사용해야한다.

profile
Front-End 개발자

0개의 댓글