ずっと使ってる人だと当然だろうけど、たまに使うと忘れててやらかすもの。
> a=undefined;if(a==undefined){console.log("undefined")}else{console.log("not undefined")}
> undefined
> a=1;if(a==undefined){console.log("undefined")}else{console.log("not undefined")}
> not undefined
> a=null;if(a==undefined){console.log("undefined")}else{console.log("not undefined")}
> undefined
おい!(笑)
強引に解釈するなら、nullは値ではなく型なので、値判定だと値無しのundefinedという感じかな。