Sobes.tech
Middle

NaN чист ва кай ҳолатҳо пайдо мешавад?

sobes.tech AI

Ҷавоб аз AI

NaN (Ном нестам) — это махсус арзиш дар JavaScript, ки натиҷаи амалиётест, ки рақам нест. Он вақте пайдо мешавад, ки амалиёт ё табдил додан натоиҷи дурустро намебарорад.

Масаланҳо дар ҳолатҳои пайдоиши NaN:

  • тақсим кардани 0 ба 0: 0 / 0.
  • Табдил додани сатрҳои ғайри рақамӣ ба рақам: Number('abc').
  • Натиҷаи амалиётҳои нодуруст, масалан, гирифтани решаи квадратии аз рақами манфӣ: Math.sqrt(-1).

Муҳим аст, ки бидонем, ки NaN баробар ба худ нест (NaN !== NaN), бинобар ин барои санҷиш функсияҳои isNaN() ё Number.isNaN() истифода мешаванд.

console.log(0 / 0); // NaN
console.log(Number('abc')); // NaN
console.log(Math.sqrt(-1)); // NaN
console.log(NaN === NaN); // false
console.log(Number.isNaN(NaN)); // true