기본 매개변수(Default Parameters)란?
JavaScript의 기본 매개변수(Default Parameters)는 함수 호출 시 인자가 전달되지 않거나 undefined가 전달될 경우, 해당 매개변수가 미리 정해진 기본값으로 자동 초기화되도록 하는 기능입니다. 이를 활용하면 함수 내부에서 일일이 값의 존재 여부를 검사하는 번거로움 없이, 더 간결하고 안전한 코드를 작성할 수 있습니다.
기본 매개변수의 동작 방식
함수를 선언할 때 매개변수 이름 뒤에 등호(=)와 기본값을 지정하기만 하면 됩니다. 함수 호출 시 해당 매개변수에 실제 값이 전달되면 전달된 값이 그대로 사용되며, 아무 값도 넘겨지지 않거나 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>실행 결과
inc(10, 10)→ 20: 두 번째 인자로 10이 전달되었으므로 기본값 대신 전달된 값이 사용됩니다.inc(10)→ 11: 두 번째 인자가 전달되지 않았으므로 기본값 1이 적용되어 10 + 1 = 11이 됩니다.
정리
기본 매개변수는 ES6(ECMAScript 2015)에서 도입된 문법으로, 선택적(optional) 인자를 다루는 함수를 훨씬 깔끔하게 작성할 수 있게 해줍니다. 과거에는 if (inc === undefined) { inc = 1; }와 같은 방어 코드를 직접 작성해야 했지만, 이제는 매개변수 선언부에서 한 줄로 처리할 수 있습니다. API 옵션 객체나 설정값 처리에 특히 유용하므로, 실무 코드에서 적극적으로 활용해 보시기 바랍니다.