JavaScript 선택적 함수 매개변수란?
JavaScript에서 함수를 정의할 때 특정 매개변수를 생략 가능하도록 만들고 싶다면 기본 매개변수(Default Parameters) 문법을 사용하는 것이 가장 좋은 방법입니다. ES6(ECMAScript 2015)부터 도입된 이 기능을 활용하면 매개변수에 기본값을 지정할 수 있으며, 함수 호출 시 해당 인자가 전달되지 않으면 자동으로 기본값이 적용됩니다.
기본 매개변수 작성 방법
매개변수 이름 뒤에 등호(=)를 붙이고 원하는 기본값을 지정하기만 하면 됩니다.
function myFunc(a, b = 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이 전달되어 20이 출력되지만, 두 번째 호출에서는 인자가 생략되었기 때문에 기본값 1이 적용되어 11이 출력됩니다.
기본 매개변수의 장점
- 코드 간결성: 별도의 조건문 없이 한 줄로 기본값 처리가 가능합니다.
- 가독성 향상: 함수 선언부만 봐도 어떤 값이 기본으로 사용되는지 바로 파악할 수 있습니다.
- 안정적인 동작: 인자가 누락되어도 오류 없이 예측 가능한 결과를 반환합니다.
주의할 점
기본 매개변수는 인자가 undefined일 때만 적용됩니다. 따라서 null이나 0처럼 실제로 값이 전달되는 경우에는 기본값이 무시되고 전달된 값이 그대로 사용되므로 이 점을 유의해야 합니다.