JavaScriptでは文字列や数値などを扱いますが、値がないことを意味するnull(ヌル)と呼ばれる値も使用することができます。意図的に該当する値がない場合に用いられることが多いです。お互いに似ているnullとundefinedの違いについても説明します。記事の後半ではnullの判定方法について具体例を用いて説明します。
nullの使用方法
nullの書き方
let hoge = null
このようにnullを値として用いることができます。
let hoge = null console.log(hoge) //null
出力もnullとして表示されます。
nullが用いられる場面
nullは意図的に空であることを示すデータであるため、データの存在などを表現する際に使用されます。
let data = null if data === null{ console.log('データがありません') } else { //dataに関する処理を記述する }
このようにnullを使ってデータがあるかどうかを判定します。記述者以外の人がコードを読んでもわかりやすいコードと言えるでしょう。
また、文字列の中から特定の文字列を検索するmatchメソッドなどはマッチした文字列がなかった場合、nullを戻り値として返します。matchメソッドについて詳しく知りたい方は「JavaScriptの文字列操作について解説」を参照してください。
nullとundefinedの違い
nullに似たデータにundefined(未定義)があります。undefinedは変数が宣言済みであるのに値が代入されていない際などに用いられる値です。
var hoge console.log(hoge) // undefined
nullとundefinedはデータの意味に違いがあるため、その意味によって使い分けることが自然です。nullはデータが空であること、undefinedはデータが宣言されているが、値が代入されていないこと、を示すために用いましょう。また、JavaScriptの仕様では両者に以下のような違いがあります。
console.log(null === undefined) // false console.log(null == undefined) // true
等価演算子(==)を用いて比較をするとtrueとなるのに対して同値演算子(===)を用いて比較をするとfalseとなることに注意が必要です。
nullを用いたデータの判定
データ等に対してから判定を用いる際に空文字、null、undefinedなどの値であるかどうかをチュックする必要があります。この際には次のような方法を用いると便利です。
if (!data) { console.log('データがありません') } else { //dataに関する処理を記述する }
!演算子を用いることで空文字、null、undefinedをまとめて判定することができます。
console.log(!null)// true console.log(!undefined)// true console.log(! "")// true
となるため、このような実装が実現できます。この際にdataが数値を扱う可能性のある場合は0が空文字、null、undefinedと同じ扱いをされることに注意が必要です。
console.log(!0)// true
この記事のまとめ
本記事ではJavaScriptでのnullの扱いを、具体例を元に説明しました!最後に記事の要点をまとめてみましょう。
- nullは意図的に空であることを示すデータであるため、データの存在などを表現する際に使用される。
- undefinedは変数が宣言済みであるのに値が割り当てされていない際などに用いられる値である。
- nullとundefinedは等価演算子(==)を用いて比較をするとtrueとなるのに対して同値演算子(===)を用いて比較をするとfalseとなる。
JavaScriptを是非活用してみましょう。