Junior
Kako proveriti da li je broj NaN?
sobes.tech АИ
Одговор од АИ
Koriste funkciju isNaN(), koja proverava da li je vrednost "Nije broj" (Not-a-Number).
// Primeri korišćenja isNaN()
console.log(isNaN(NaN)); // true
console.log(isNaN(123)); // false
console.log(isNaN('hello')); // true, jer 'hello' ne može biti pretvoreno u broj
console.log(isNaN('123')); // false, jer '123' može biti pretvoreno u broj 123
console.log(isNaN(undefined)); // true
console.log(isNaN(null)); // false, jer null se pretvara u 0
// Provera konverzije tipova
console.log(Number('hello')); // NaN
console.log(isNaN(Number('hello'))); // true
Postoji i metoda Number.isNaN(), koja strože proverava da li je vrednost tačno NaN, bez prethodne konverzije.
// Primeri korišćenja `Number.isNaN()`
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(123)); // false
console.log(Number.isNaN('hello')); // false, ne konvertuje
console.log(Number.isNaN('123')); // false
console.log(Number.isNaN(undefined)); // false
console.log(Number.isNaN(null)); // false
Poređenje NaN sa samim sobom ili bilo kojom drugom vrednošću uvek vraća false, osim kada se koristi Object.is().
// Osobina poređenja sa NaN
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
// Poređenje pomoću Object.is()
console.log(Object.is(NaN, NaN)); // true
U zavisnosti od zadatka, može biti potrebno koristiti isNaN() (ako je važna provera nakon konverzije u broj) ili Number.isNaN() (za strogu proveru na NaN). Metoda Number.isNaN() je preferirana za preciznu proveru da li je vrednost tačno NaN.