자바스크립트는 ES6부터 기본 매개변수를 지원합니다. 기본 매개변수는 매개변수에 아무 값도 전달되지 않았을 때, 미리 설정된 기본 값을 사용할 수 있게 해줍니다. 이를 활용하면 함수를 호출할 때 일부 매개변수를 생략하고, 기본 값을 사용할 수 있어 편리한 코딩이 가능해집니다.
기본 매개변수 문법
function functionName(param1 = defaultValue1, param2 = defaultValue2) {
// 함수 로직
}
위의 코드에서 param1
과 param2
는 각각 매개변수의 이름이고, defaultValue1
과 defaultValue2
는 각각 해당 매개변수의 기본 값입니다. 함수를 호출할 때 param1
과 param2
에 값을 전달하지 않으면, 각각의 기본 값을 사용합니다.
예시 코드
다음은 기본 매개변수를 사용하는 예시 코드입니다.
function showMessage(message, times = 1) {
for (let i = 0; i < times; i++) {
console.log(message);
}
}
// showMessage 함수 호출
showMessage("안녕하세요!"); // "안녕하세요!" 출력
showMessage("반갑습니다!", 3); // "반갑습니다!"를 3번 출력
위의 코드에서 showMessage
함수는 message
와 times
라는 두 개의 매개변수를 가지고 있습니다. times
매개변수에는 기본 값인 1
이 설정되어 있기 때문에, times
값을 전달하지 않으면 기본 값인 1
을 사용합니다.
첫 번째 showMessage
함수 호출에서는 times
값을 전달하지 않았기 때문에, 기본 값인 1
로 설정되어 실행됩니다. 따라서 “안녕하세요!”가 한 번 출력됩니다.
두 번째 showMessage
함수 호출에서는 times
값을 3
으로 전달하였기 때문에, times
값은 3
으로 설정되고 함수가 실행됩니다. 따라서 “반갑습니다!”가 세 번 출력됩니다.
주의사항
- 기본 매개변수는 항상 매개변수 리스트의 마지막에 위치해야 합니다.
- 기본 매개변수는
null
,undefined
,NaN
과 같은 falsy한 값이 전달될 경우에만 작동합니다. 즉,0
이나 빈 문자열과 같은 falsy한 값이 아닌 경우에는 기본 값 대신 전달된 값이 사용됩니다.
기본 매개변수를 활용하면 함수의 유연성을 높일 수 있으며, 일부 매개변수의 값을 생략하고 기본 값을 사용할 수 있어 편리한 코딩이 가능합니다. 사용할 때는 매개변수 리스트의 마지막에 기본 매개변수를 배치하고, 주의사항에 유의하여 사용하시면 됩니다.