PHPだと、 if (!is_null($a)) { } C#だと、 if (a != null) { } みたいにnull判定するわけですが、 JavaScriptはどうするんだろう?と思ったら、 それらしい関数は無いらしい。
そもそもJavaScriptでは、 var a; みたいに、なにも代入せずに変数を用意した時、nullではなく、undefinedという値が入っているらしいので、
1 |
if (a !== undefined) { } |
とするといいらしいです。 ただし、undefined は定数ではなく、変数なので
1 2 3 |
undefined = 0; var a; if (a !== undefined) { alert(a); } |
のように、undefined に何かの値を代入してしまうと、 のalertは実行されてしまうので注意しよう。とのこと。
じゃどうするか。というと、確実に、undefinedがundefinedとなるようにする。といいらしいです。
1 2 3 |
var undefined; var a; if (a !== undefined) { alert(a); } |
なるほどー
でも、ちょっと周りくどいというか、なんというか。
他には、
1 2 |
var a; if (a !== void 0 ) { alert(a); } |
とvoid関数をつかって、undefinedを取得する方法で、こっちが一般的らしいです。