23 of 264 menu

Funzione isFinite

La funzione isFinite serve per verificare se il parametro è un numero finito (cioè non una stringa, un array, ecc. e non più o meno infinito).

Come funziona questa funzione: restituirà false, se il numero è più o meno infinito (cioè Infinity) o non è un numero (cioè NaN), in tutti gli altri casi restituirà true. Cioè stringhe, array, ecc. saranno convertiti in NaN e di conseguenza restituiranno false.

Tuttavia ci sono eccezioni: una stringa vuota '' restituisce true, una stringa con spazi '    ' restituisce anch'essa true, null restituisce true, anche per i valori true e false verrà restituito true.

Questo accade perché questi valori vengono convertiti in numeri, e non in NaN. Se avete bisogno di un controllo veramente preciso per i numeri, che non consideri numeri una stringa di spazi, valori booleani e valori speciali - utilizzate la seguente funzione isNumeric:

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

Analizziamo come funziona. La funzione isFinite converte il parametro in un numero e restituisce true, se questo non è Infinity, -Infinity o NaN. Pertanto, la parte destra scarterà i valori chiaramente non numerici, ma lascerà valori come true, false, null, la stringa vuota '' e la stringa con spazi, poiché vengono convertiti correttamente in numeri.

Per scartare questi valori, serve la funzione parseFloat, che per true, false, null, '', '   ' restituirà NaN. Così è progettata la funzione parseFloat: essa converte il parametro in una stringa, cioè true, false, null diventano 'true', 'false', 'null', e poi legge da essa un numero, mentre la stringa vuota e la stringa con spazi producono NaN. Poi il risultato di parseFloat viene elaborato con !isNaN, per ottenere true o false invece di NaN. Di conseguenza, tutto viene scartato tranne le stringhe-numero e i numeri ordinari.

Sintassi

isFinite(valore);

Esempio

Ora isFinite visualizzerà true, poiché il parametro è un numero:

let num = 3; console.log(isFinite(num));

Risultato dell'esecuzione del codice:

true

Esempio

Ora isFinite visualizzerà false, poiché il parametro non è un numero:

let num = 'abcde'; console.log(isFinite(num));

Risultato dell'esecuzione del codice:

false

Esempio

Ora isFinite visualizzerà false, poiché il parametro è infinito:

let num = Infinity; console.log(isFinite(num));

Risultato dell'esecuzione del codice:

false

Esempio

Ora isFinite visualizzerà false, poiché 1/0 - è essenzialmente Infinity (infinito):

let num = 1 / 0; console.log(isFinite(num));

Risultato dell'esecuzione del codice:

false

Esempio

Ora isFinite visualizzerà true, poiché una stringa vuota, sebbene non sia un numero, - è un'eccezione:

let num = ''; console.log(isFinite(num));

Risultato dell'esecuzione del codice:

true

Vedi anche

  • la funzione isNaN,
    che effettua un controllo per NaN
  • l'operatore typeof,
    che determina il tipo di dati
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta