저는 원래 다음과 같이 썼습니다:
function foo(x) {
if(arguments[1]) {
// do Something..
} else {
// do other. .
}
}
그러나 전달된 매개변수 수에 관계없이 if(arguments[1]) 단계는 건너뜁니다. 미칠 것 같았을 때 드디어 성공했습니다.
function foo(x) {
if(arguments[1] != undefine) {
// 뭔가를 하세요..
} else {
// 다른 것을 하세요..
}
}
"The Definitive Guide to Javascript"에서 null과 undefine이 같을 때도 있지만 같지 않을 때도 있다고 했던 것을 기억합니다.