JavaScript Tips PR

[javaScript]Number.isNaNを使う時の注意

[javaScript]Number.isNaNを使う時の注意
記事内に商品プロモーションを含む場合があります

JavaScriptを使って、文字を数値に変換できない場合はNaNが返されるため、
数値以外が入力された場合の判定に利用しようとするとブラウザによって不都合が起こります。

Number.isNaNを使用する

ブラウザ依存の問題

このNumber.isNaNについては、ブラウザによって不都合があるので使用する場合にはちょっと注意が必要です。
具体的には、このNumber.isNaNが比較的新しいものなので、IEのみ非対応となっている事です。

参考:[ブラウザごとの対応状況参考] 

その他の主要ブラウザでは対応されているので、IEへの対応が不要という事であれば問題ありませんが、IEへの対応の必要がある場合はもう一歩踏み込んだ対応が必要になります。

Number.isNaNを作る

IE未対応への対応としてNumber.isNaNを自分で作るという方法があるようです。

Number.isNaN = Number.isNaN || function(value) {
return typeof value === “number” && value !== value;
}

参考:[癖あるNaNの判別方法、isNaN関数の問題]

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です