Baseline Widely available
ã°ãã¼ãã«ãããã㣠NaN
ã¯éæ° (Not-A-Number) ã表ãå¤ã§ãã
function sanitize(x) {
if (isNaN(x)) {
return NaN;
}
return x;
}
console.log(sanitize("1"));
// Expected output: "1"
console.log(sanitize("NotANumber"));
// Expected output: NaN
解説
NaN
ã¯ã°ãã¼ãã«ãªãã¸ã§ã¯ãã®ããããã£ã§ããè¨ãæããã°ãã°ãã¼ãã«ã¹ã³ã¼ãã«ãã夿°ã§ãã
NaN
ã®åæå¤ã¯éæ°ã§ããã Number.NaN
ã®å¤ã¨åçã§ããæè¿ã®ãã©ã¦ã¶ã¼ã§ããã°ã NaN
ã¯è¨å®ãæ¸ãè¾¼ã¿ãã¨ãã«ä¸å¯è½ãªããããã£ã¨ãªã£ã¦ãã¾ããããã§ãªãå ´åã§ãã£ã¦ãããªã¼ãã¼ã©ã¤ãã¯ç¡å¹ã¨ãªãã¾ããããã°ã©ã ã®ä¸ã§ NaN
ã使ç¨ããã®ã¯ããããã¾ããªãã¨ã§ãã
NaN
ãè¿ãæ¼ç®ã«ã¯ 5 種é¡ãããã¾ãã
parseInt("blabla")
ã¾ã㯠Number(undefined)
)Math.sqrt(-1)
)NaN
ã§ãã (ä¾ãã° 7 ** NaN
)0 * Infinity
ã¾ã㯠undefined + undefined
)"foo" / 3
)NaN
ã¯å¥ã® NaN
å¤ãå«ãããããæ°ã¨ (==
ã!=
ã===
ã!==
ã«ãã£ã¦) åãã§ã¯ãªãã¨æ¯è¼ããã¾ããããå¤ã NaN
ãã©ãããç確ã«å¤å®ããã«ã¯ Number.isNaN()
ã isNaN()
ã使ç¨ãã¦ãã ããããããã¯èªå·±æ¯è¼ãå®è¡ãã¾ãããã NaN
ã¯ãã¾ã NaN
ã ãããèªèº«ã¨åçã§ã¯ãªãã¨æ¯è¼è©ä¾¡ããã¾ãã
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
Number.isNaN(NaN); // true
function valueIsNaN(v) {
return v !== v;
}
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
ãã ãã isNaN()
㨠Number.isNaN()
ã«ã¯éãããããã¨ã«æ°ãã¤ãã¦ãã ãããåè
ã¯ãå¤ãã®ãã®ã NaN
ã§ãã£ãããå¤ã®å¤æã®çµæ NaN
ã«ãªãå ´åã« true
ãè¿ãã¾ããå¾è
ã¯å¤ãã®ãã®ã NaN
ã®ã¨ãã«ã ã true
ãè¿ãã¾ãã
isNaN("hello world"); // true
Number.isNaN("hello world"); // false
åãçç±ã§ã bigint
å¤ã®å ´å㯠isNaN()
ã§ã¯ã¨ã©ã¼ãçºçãã¾ããã Number.isNaN()
ã§ã¯çºçãã¾ããã
isNaN(1n); // TypeError: Conversion from 'BigInt' to 'number' is not allowed.
Number.isNaN(1n); // false
å ãã¦ãé
åã¡ã½ããã®ä¸ã«ã¯ NaN
ãè¦ã¤ãããã¨ãã§ãããã®ãã§ããªããã®ãããã¾ãã
let arr = [2, 4, NaN, 12];
arr.indexOf(NaN); // -1 (false)
arr.includes(NaN); // true
arr.findIndex((n) => Number.isNaN(n)); // 2
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4