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 է։