JavaScript/TypeScriptをたまに書くと、いまだにこの言語について基本的なことについて把握していないことが多いということを思い知る。
最近、あるデータがnullかundefinedでないときのみにある処理を行うという、以下のようなnullチェックを書いた。
if (data != null) { doSomething(data) }
JavaScriptでは等価演算子/不等価演算子と厳密等価演算子/厳密不等価演算子がある。上記の例は不等価演算子なので、dataがnullのときもundefinedのときも!=でfalseとなる。
そもそもnullとundefinedがべつものとして存在していることが無駄に複雑で、JSを使いたくない気にさせるが、ブラウザで動く唯一の言語であるなのでそうもいかない。
それはともかくTypeScript Deep Dive によると、nullとundefinedの2つを区別する必要はなく != null
でチェックするのがよいとのことだ。nullとundefinedについては以下の記事を参考にした。