NaN === NaN はfalseで判定される
1280 ワード
条件式で
if (Number(var) !== NaN) {
...
のように書いて、var
が数字文字列(例: '1'
)だった時の処理をif文内で行おうしたら、なぜかNumber(var) !== NaN
がtrue
判定されてしまい、想定通りの処理ができなかった。
調査したところ、どうやらNaN === NaN
がfalse
判定される仕様らしい。この場合、
if (!isNaN(Number(var)) {
...
で想定通り動くようになった。が、今度はeslintに
Unexpected use of 'isNaN'
と怒られる。
if (!Number.isNaN(Number(var))) {
...
これでeslint先生のお叱りも回避できた。よかったよかった。
参考記事
Author And Source
この問題について(NaN === NaN はfalseで判定される), 我々は、より多くの情報をここで見つけました https://qiita.com/korochiki1227/items/d79e257a199f689eb9ce著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .