파라미터의 기본값

함수의 파라미터는 기본값을 가질 수 있다. 기본값이 있는 파라미터는 함수를 호출할 때 아규먼트(argument)를 전달하지 않으면, 함수 내부의 동작은 파라미터의 기본값을 가지고 동작한다.

function sayHello(lang = '안녕하세요'){
	console.log(`인사 : ${lang}`);
}

sayHello('곤니찌와'); // 인사 : 곤니찌와
sayHello(); // 인사 : 안녕하세요

arguments 객체

함수 내에서 arguments 라는 객체가 존재한다.

함수를 호출할 때 전달한 아큐먼트들을 배열의 형태로 모아둔 유사 배열 객체 이다. 함수를 호출할 때 전달되는 아큐먼츠의 개수가 불규칙적일때 유용하다.

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

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

Rest Parameter

불규칙적으로 전달되는 아큐먼트를 다루는 방법 중 하나다. 를 이용하여 여러 개로 전달되는 아큐먼트를 다룰 수 있게된다

이때 Rest Parameter 는 유사 배열이 아닌 배열이기에 배열의 메서드를 사용할 수 있다.

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

printArguments('Young', 'Mark', 'Koby');
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');