JavaScript의 기본 매개변수(Default Parameters)는 함수 호출 시 인자가 전달되지 않거나 undefined가 전달될 때, 형식 매개변수에 미리 정의된 기본값을 자동으로 할당하는 ES6(ES2015) 문법입니다. 이를 활용하면 별도의 조건문 없이도 함수 인자를 손쉽게 처리할 수 있어 코드가 더 간결하고 안전해집니다.
기본 매개변수의 동작 방식
기본 매개변수는 다음 두 가지 경우에만 적용됩니다.
- 함수 호출 시 해당 인자가 아예 전달되지 않은 경우
- 인자로 명시적으로
undefined가 전달된 경우
반면 null, 0, 빈 문자열 등은 유효한 값으로 간주되므로 기본값이 적용되지 않는다는 점에 유의해야 합니다.
예제 코드
다음 예제는 증가값(inc)의 기본값을 1로 설정한 함수입니다.
<html>
<body>
<script>
// inc의 기본값을 1로 설정
function inc(val1, inc = 1) {
return val1 + inc;
}
document.write(inc(10, 10)); // 20 출력
document.write("<br>");
document.write(inc(10)); // 11 출력
</script>
</body>
</html>
실행 결과
20 11
결과 설명
inc(10, 10): 두 번째 인자로 10이 전달되었으므로 기본값은 무시되고, 10 + 10 = 20이 반환됩니다.inc(10): 두 번째 인자가 전달되지 않았으므로 기본값 1이 사용되어, 10 + 1 = 11이 반환됩니다.
정리
기본 매개변수를 사용하면 인자 누락으로 인한 오류(예: NaN)를 사전에 예방하고, 함수의 의도를 코드만으로 명확하게 드러낼 수 있습니다. 선택적 인자를 다루는 함수라면 기본 매개변수를 적극적으로 활용하는 것이 좋습니다.