JS内蔵関数,isNaN
isNaN()
受信パラメータ値がNANまたは非数値である関数の決定
return
isNaN()の値が数値でない場合はtrue、数値である場合はfalseを返します.
例
isNaN(NaN); // true
isNaN(undefined); // true
isNaN({}); // true
isNaN(true); // false
isNaN(null); // false
isNaN(37); // false
// 문자열
isNaN("37"); // false
予期せぬ結果
例ではnullおよび「37」は予想外の結果をもたらす.
isNan()はtrueを返さなければならないが、両方ともfalse、すなわちnumberを表示する.
typeofで資料のタイプを知るtypeof null // object
typeof "37" // string
typeofの結果からnullはobject,「37」はstringである.
つまりnumberではないのでtrueだけが出てくるのが普通です.
どうしたんですか.
n/a.理由
これはisnan()の動作方式のためです.
nullと「37」を数値として明示的に変換Number(null) // 0
Number("37") // 37
typeof Number(null) // number
typeof Number("37") // number
数字()で数字に変化し、typeofでタイプを確認すると両方とも数字が出てきます.
すなわちisnan()は,まず受信した値を数字に変換し,次に数字であるか否かを判別する.
の最後の部分
isNan()は,受け取った値(引数)をnumberに変換したことを知り,判別する.したがって,ISNAN()よりも直接typeofでタイプを確認した方が正確である可能性がある.
Reference
この問題について(JS内蔵関数,isNaN), 我々は、より多くの情報をここで見つけました
https://velog.io/@ahngh/isNaN
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
isNaN(NaN); // true
isNaN(undefined); // true
isNaN({}); // true
isNaN(true); // false
isNaN(null); // false
isNaN(37); // false
// 문자열
isNaN("37"); // false
typeof null // object
typeof "37" // string
Number(null) // 0
Number("37") // 37
typeof Number(null) // number
typeof Number("37") // number
Reference
この問題について(JS内蔵関数,isNaN), 我々は、より多くの情報をここで見つけました https://velog.io/@ahngh/isNaNテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol