Number.isFinite / isFinite în JavaScript

Numere și matematică Toate browserele (Number.isFinite: ES2015)

Verifică dacă o valoare este un număr obișnuit: nici NaN, nici Infinity sau -Infinity.

Sintaxă
Number.isFinite(valoare)
isFinite(valoare)

Ce face Number.isFinite / isFinite

Number.isFinite returnează true pentru orice număr real și false pentru NaN, Infinity, -Infinity și pentru valorile care nu sunt de tip număr.

Funcția globală isFinite transformă întâi valoarea în număr, deci acceptă și texte: isFinite("42") dă true. Este cea mai scurtă verificare că un rezultat poate fi afișat sau salvat.

Parametri

Parametru Descriere
valoare Valoarea verificată.

Ce returnează

true sau false.

Exemple

Exemplul 1: Valori finite și infinite

console.log(Number.isFinite(42.5));
console.log(Number.isFinite(1 / 0));
console.log(Number.isFinite(NaN));
console.log(Number.isFinite("42"), isFinite("42"));

Rezultat

true
false
false
false true

Exemplul 2: Media unei liste care poate fi goală

function media(note) {
  const m = note.reduce((s, n) => s + n, 0) / note.length;
  return Number.isFinite(m) ? m.toFixed(2) : "fără note";
}

console.log(media([9, 10, 8]));
console.log(media([]));

Rezultat

9.00
fără note

Greșeli frecvente

  • Verifici doar Number.isNaN și lași să treacă Infinity (de exemplu după o împărțire la 0). Number.isFinite le prinde pe amândouă.

Comenzi înrudite

  • Number.isNaN / isNaN: Verifică dacă o valoare este NaN („nu este un număr”), rezultatul unui calcul sau al unei conversii eșuate.
  • Number.isInteger / isSafeInteger: Verifică dacă o valoare este un număr întreg (și dacă este întreg fără pierdere de precizie).
  • toFixed: Formatează un număr cu un număr fix de zecimale. Returnează text.