본문 바로가기

■ Web개발/기초 지식

모던 자바스크립트 - arguments, Rest Parameter

(코드잇 강의를 보고 정리한 내용들입니다)

 

arguments 객체 
자바스크립트 함수 안에는 arguments라는 독특한 객체가 존재
arguments 객체는 함수를 호출할 때 전달한 아규먼트들을 배열의 형태로 모아둔 유사 배열 객체

히, 함수를 호출할 때 전달되는 아규먼트의 개수가 불규칙적일 때 유용하게 활용

function printArguments() {
  // arguments 객체의 요소들을 하나씩 출력
  for (const arg of arguments) {
    console.log(arg); 
  }
}

printArguments('Young', 'Mark', 'Koby');

 

 

Rest Parameter
파라미터 앞에 마침표 세 개를 붙여주면, 여러 개로 전달되는 아규먼트들을 배열로 다룰 수가 있음
arguments객체는 유사 배열이기 때문에 배열의 메소드를 활용할 수 없다

하지만 rest parameter는 배열이기 때문에 배열의 메소드를 자유롭게 사용할 수 있음

 

function printRankingList(first, second, ...others) {
  console.log('코드잇 레이스 최종 결과');
  console.log(`우승: ${first}`);
  console.log(`준우승: ${second}`);
  for (const arg of others) {
    console.log(`참가자: ${arg}`);
  }
}

printRankingList('Tommy', 'Jerry', 'Suri', 'Sunny', 'Jack');

 

 

참조로 파라미터는 함수 뒤의 () 이부분 안에 들어가는 부분을 말함.

arguments는 그 안의 값을 말함.

 

종종 헷갈리는 부분이죠.