Junior
Чӣ тавр санҷидани, ки оё рақам NaN аст?
sobes.tech AI
Ҷавоб аз AI
Функсияи isNaN() истифода мешавад, ки санҷиш мекунад, ки арзиш "Номи рақам" (Not-a-Number) аст.
// Мисолҳои истифодаи isNaN()
console.log(isNaN(NaN)); // true
console.log(isNaN(123)); // false
console.log(isNaN('hello')); // true, зеро 'hello' наметавонад ба рақам табдил ёбад
console.log(isNaN('123')); // false, зеро '123' метавонад ба рақами 123 табдил ёбад
console.log(isNaN(undefined)); // true
console.log(isNaN(null)); // false, зеро null ба 0 табдил ёфтааст
// Санҷиши табдил додани намуд
console.log(Number('hello')); // NaN
console.log(isNaN(Number('hello'))); // true
Ҳамчунин, усули Number.isNaN() мавҷуд аст, ки ба таври қатъӣ санҷиш мекунад, ки арзиш дар асл NaN аст, бе табдил додани пешакӣ.
// Мисолҳои истифодаи `Number.isNaN()`
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(123)); // false
console.log(Number.isNaN('hello')); // false, намеғзорад
console.log(Number.isNaN('123')); // false
console.log(Number.isNaN(undefined)); // false
console.log(Number.isNaN(null)); // false
Меъёри NaN бо худ ё бо ҳар арзиши дигар ҳамеша false бармегардонад, ба истиснои истифодаи Object.is().
// Хусусияти муқоиса бо NaN
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
// Муқоиса бо истифодаи Object.is()
console.log(Object.is(NaN, NaN)); // true
Ба вобаста ба вазифа, мумкин аст, ки зарур бошад, ки isNaN() (агар санҷиш пас аз табдил додани ба рақам муҳим бошад) ё Number.isNaN() (барои санҷиши дақиқи NaN) истифода шавад. Метод Number.isNaN() барои санҷиши дақиқи он, ки оё арзиш дар асл NaN аст, беҳтар аст.