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' санга айландырылат
console.log(isNaN(undefined)); // true
console.log(isNaN(null)); // false, анткени null 0го айланат
// isNaN() типти текшерүү
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
// isNaN() менен салыштыруу
console.log(isNaN('hello')); // true
console.log(Number.isNaN('hello')); // 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() (катуу текшерүү үчүн) керек болсо, тандоо керек. Number.isNaN() так жана ишенимдүү, конкреттүү маанинин NaN экенин текшерүүдө артыкчылыкка ээ.