1
1

【JavaScript】NaN === NaN が false になる理由を文学的に無理やりこじつける

Last updated at Posted at 2024-09-12

これは何?

NaN === NaN が false になる理由を文学的に無理やり考えたよ。という記事。

ぼくがかんがえたさいきょうのりゆう

一言でいうと

「NaN」は「エラー」だから。

「NaN === NaN」があったとして
「左辺のエラー」と「右辺のエラー」が同じかどうかは分からない。

「左辺のエラー」は「0/0のNaN」で
「右辺のエラー」は「文字列を数値への変換に失敗した結果のNaN」かもしれない。

もちろん、同じNaNである可能性もある。

じゃあどうすんのって話だが

ここは、「疑わしきは罰せず」の信念で「false」ということにしたのではないだろうか?(適当)

そもそも

NaNとNaNを比較するということ自体が変に感じる(個人の感想)。

「正常じゃないもの」と「正常じゃないもの」を比較することに意味があるのだろうか。

JavaScriptは、そんなものを比較しても意味がないよ。というメッセージを「false」という結果で我々に伝えているのではないだろうか?(適当)

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1