TypeScript 入門の記録(30)プロを目指す人のためのTypeScript入門(15)比較演算子とNaN
前回は、比較演算子と等価演算子について学習しました。今日は、論理演算子について学習したいのですが、その前に比較演算子とNaNについて少し確認しておきます。
比較演算とNaN
比較演算子の節の最後にコラム「比較演算とNaN」があったので、飛ばさずに読みます。NaN は数値型なのに数値を表さないのは知っていましたが、
という注意点があるのをこのコラムで知りました。(知らないと謎のバグを呼ぶのでは???)
NaNは何と比較してもfalseが返ってくる?
x にNaNが与えられている状態では、x === NaN の結果は false になるそうなのです。(これは、素直に納得できないですが、そういう仕様だと理解するしかありません。。。)では、xがNaNかどうかをどうやって判定すればよいか?この場合は、Number.isNaN関数を使えばOKとのこと。ちょっと違いますが、SQLで値をNullと比較するときに、isNullを使うのを思い出しました。
これは、覚えておかないと、数値の比較で条件分岐したときに値がNaNの場合に思わぬ挙動をしてハマりそうです。NaNではないときに対象の数値と比較するようにすれば良いかな。
今日はここでタイムアップです。この続きは、次の週末の予定です。さっき気がついたんですけど、TypeScript入門の記録の途中からTypeScriptの綴りを間違っている気がします。(Tweetも?)過去のnoteのチェックをしないと。。。