실제 동작을 살펴보자. 코드 3-1의 코드를 실행한다.
코드 3-1 기본적인 기본값 매개변수–basic-default-parameters.js
function animate(type, duration = 300) {
console.log(type + ", " + duration);
}
animate("fadeout"); // "fadeout, 300"
animate("fadeout", undefined); // "fadeout, 300" (다시)
animate("fadeout", 200); // "fadeout, 200"
기본값을 처리하는 코드는 자바스크립트 엔진에 의해 함수 시작 부분에 효과적으로 삽입된다. 그런데 이 코드는 나중에 보게 될 자체 범위 안에 있다.
이 예에서 원하는 경우 type과 duration 모두에 대한 기본값을 제공할 수 있다.
function animate(type = "fadeout", duration = 300) {
// 작업을 한다.
}
다른 언어와 달리 duration은 제공하지 않고 type에 대한 기본값을 제공할 수도 있다.
function animate(type = "fadeout", duration) {
// 작업을 한다.
}