JavaScript에서는 함수 호출 시 앞쪽 매개변수를 건너뛰고 뒤쪽 매개변수에만 값을 전달해야 하는 경우가 있습니다. 이때 해당 자리에 undefined를 명시적으로 전달하면 됩니다.
undefined 값 전달 방법
예를 들어 두 번째 매개변수에만 값을 넣고 첫 번째 매개변수는 비워 두고 싶다면, 아래와 같이 첫 번째 인자 자리에 undefined를 직접 작성하면 됩니다.
displayFunc(undefined, "Amit");
예제
다음은 첫 번째 매개변수를 'undefined'로 설정한 상태에서 두 번째 매개변수가 정상적으로 출력되는 예제입니다.
<!DOCTYPE html>
<html>
<body>
<script>
function displayFunc(p1, p2) {
document.write("Parameter 1 = " + p1);
document.write("<br>Parameter 2 = " + p2);
}
displayFunc(undefined, "Amit");
</script>
</body>
</html>실행 결과
Parameter 1 = undefined Parameter 2 = Amit
참고 사항
JavaScript에서는 함수 호출 시 인자를 아예 생략해도 해당 매개변수는 자동으로 undefined가 됩니다. 따라서 displayFunc(undefined, "Amit")처럼 명시적으로 작성하는 것은 주로 중간에 위치한 매개변수를 건너뛰어야 할 때 유용합니다.
또한 ES6부터 도입된 기본 매개변수(default parameter)를 사용하는 경우, undefined가 전달되면 기본값이 적용됩니다. 반면 null을 전달하면 기본값이 적용되지 않으므로, 의도에 맞게 구분하여 사용하는 것이 좋습니다.