JavaScript에서는 함수를 호출할 때 인자로 undefined가 전달되는 경우가 종종 발생합니다. 예를 들어 다음과 같은 두 가지 값이 함수로 전달된다고 가정해 보겠습니다.
300
undefined
이처럼 undefined가 전달될 경우 프로그램이 비정상적으로 동작하는 것을 막기 위해, 함수 내부에서 기본값(default value)을 설정해 주는 것이 좋습니다.
기본값 설정 예제
다음 코드는 전달받은 값이 undefined인지 확인한 후, 그렇다면 기본값인 100000으로 대체하는 예제입니다.
function showValue(value) {
if (value === undefined) {
value = 100000;
} else {
value = value;
}
return value;
}
console.log("The value=" + showValue(300));
console.log("The value=" + showValue(undefined));프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 아래 명령어를 사용합니다.
node fileName.js
여기서 파일 이름은 demo246.js라고 가정합니다.
실행 결과
위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.
PS C:\Users\Amit\javascript-code> node demo246.js
The value=300
The value=100000
추가 팁: ES6 기본 매개변수 활용하기
위 예제처럼 조건문으로 일일이 검사하는 대신, ES6(ES2015)에서 도입된 기본 매개변수(Default Parameters) 문법을 사용하면 훨씬 간결하게 처리할 수 있습니다.
function showValue(value = 100000) {
return value;
}
console.log(showValue(300)); // 300
console.log(showValue(undefined)); // 100000단, 기본 매개변수는 인자가 undefined일 때만 적용되며, null이나 0 같은 값이 전달되면 해당 값이 그대로 사용된다는 점에 유의해야 합니다.