Junior
NaN bo'lsa, qanday tekshirish mumkin?
sobes.tech AI
AIdan javob
isNaN() funksiyasidan foydalaniladi, bu qiymatning "Raqam emas" (Not-a-Number) ekanligini tekshiradi.
// `isNaN()` dan foydalanish misollari
console.log(isNaN(NaN)); // true
console.log(isNaN(123)); // false
console.log(isNaN('hello')); // true, chunki 'hello' raqamga aylantirilmaydi
console.log(isNaN('123')); // false, chunki '123' raqamga aylantirilishi mumkin
console.log(isNaN(undefined)); // true
console.log(isNaN(null)); // false, chunki null 0 ga aylantiriladi
// Turlarni konvertatsiya qilishni tekshirish
console.log(Number('hello')); // NaN
console.log(isNaN(Number('hello'))); // true
Shuningdek, Number.isNaN() metodi mavjud bo‘lib, u aniq NaN qiymatini tekshiradi, oldindan konvertatsiya qilmasdan.
// `Number.isNaN()` dan foydalanish misollari
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(123)); // false
console.log(Number.isNaN('hello')); // false, raqamga aylantirmaydi
console.log(Number.isNaN('123')); // false
console.log(Number.isNaN(undefined)); // false
console.log(Number.isNaN(null)); // false
// `isNaN()` bilan farqi
console.log(isNaN('hello')); // true
console.log(Number.isNaN('hello')); // false
NaN bilan o‘zi yoki boshqa har qanday qiymatni solishtirish har doim false qaytaradi, Object.is() bundan mustasno.
// NaN bilan solishtirish xususiyati
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
// Object.is() yordamida solishtirish
console.log(Object.is(NaN, NaN)); // true
Vazifaga qarab, isNaN() (agar tekshirish raqamga aylantirishdan keyin muhim bo‘lsa) yoki Number.isNaN() (aniq NaN tekshiruvi uchun) ishlatilishi mumkin. Number.isNaN() aniq NaN bo‘lsa, tekshirish uchun afzalroq.