JavaScriptでnullを判定する方法を解説!
JavaScriptでnullを判定する方法をサンプルコード付きで解説していきます。nullを厳密に判定する方法やtypeof演算子・Booleanで比較して判定する方法など紹介します。
JavaScriptでnullを判定したい
JavaScriptのnullは値が無いことを表す
特別な値です。
nullの値の例
var name = null;
console.log(name);
// →nullが返る
null
はよく未定義を表すundefined
と混同されますが、null
は値が無いことを意味し、undefined
は未定義であることを意味します。
両者の厳密な意味は異なりますので、違いがわからないという方はまずは下記を参考にしてみましょう。
さて、JavaScriptのnull
ですが、値がnull
であるかどうかのチェックの方法は複数あります。
今回はJavaScriptのnull
の判定の方法について解説していきます。
JavaScriptのnullを判定する方法
それでは順番にJavaScriptでnull
を判定する方法を解説していきます。
厳密にnullを比較する方法
まずこちらが推奨のnull
を判定する方法です。===
を使い値がnull
かどうかを判定します。
厳密にif文でnullを比較する方法
var tmp = null;
if( tmp === null ) {
console.log("true");
}else{
console.log("false");
}
// →trueが返る
実はイコール2つでnull
かどうかの比較をするとtmp
がundefined
や0
やNaN
の場合でもtrue
が返ってきてしまいます。
そのため思わぬバグを回避するためにnull
の判定は厳密に===
で判定するのがおすすめです。この場合はtmpはnullの場合のみtrue
となります。
typeof演算を使う方法
typeof
演算子は対象の方を表します。つまりtypeof
演算子を使うとnull
の判定は下記のように出来ます。
typeof演算子を使ったnullの判定
var tmp = null;
if( typeof tmp === null ) {
console.log("true");
}else{
console.log("false");
}
// →trueが返る
この書き方でもnullの判定は行なえますが、先程の厳密にnull
を比較する方法で見たコードと比べると同じ意味でありながら、typeof
演算子の分だけ記述が増えています。
null
かどうかを判定だけしたい場合であればこちらの書き方よりも、先程の厳密にnull
を比較する方法で書くのがおすすめです。
Booleanで判定する
最後にif文の条件式の中にそのまま入れ、Boolean
で判定する方法です。
Booleanで判定する
var tmp = null;
if( !tmp ) {
console.log("true");
}else{
console.log("false");
}
// →trueが返る
もちろんこの書き方でもnull
を判定できますが、undefined
や0
、NaN
などnull
以外もtrue
が返ってきますので、扱いには注意が必要です。
まとめ
いかがでしたでしょうか。JavaScriptでnullを判定する方法を紹介してきました。
やり方としては複数ありますが、やはり素直に===
で厳密に比較するのがおすすめです。コーディングルールを統一するため下記のようなnullを判定する関数を作ってしまうのも方法の一つです。
ぜひ参考にしてみて下さい!
isNull関数
function isNull(obj) {
return obj === null;
};