함수의 파라미터는 기본값을 가질 수 있다. 기본값이 있는 파라미터는 함수를 호출할 때 아규먼트(argument
)를 전달하지 않으면, 함수 내부의 동작은 파라미터의 기본값을 가지고 동작한다.
function sayHello(lang = '안녕하세요'){
console.log(`인사 : ${lang}`);
}
sayHello('곤니찌와'); // 인사 : 곤니찌와
sayHello(); // 인사 : 안녕하세요
함수 내에서 arguments
라는 객체가 존재한다.
함수를 호출할 때 전달한 아큐먼트들을 배열의 형태로 모아둔 유사 배열 객체
이다. 함수를 호출할 때 전달되는 아큐먼츠의 개수가 불규칙적일때 유용하다.
function printArguments() {
// arguments 객체의 요소들을 하나씩 출력
for (const arg of arguments) {
console.log(arg);
}
}
printArguments('Young', 'Mark', 'Koby');
불규칙적으로 전달되는 아큐먼트를 다루는 방법 중 하나다. …
를 이용하여 여러 개로 전달되는 아큐먼트를 다룰 수 있게된다
이때 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');