Questa guida esaminerà la differenza tra nullo e non definito valori in JavaScript. Conoscere la differenza tra questi due valori è importante per il debug e la creazione di codice privo di bug.

Usa la console del tuo browser per seguire o prova gli esempi di codice discussi in questa guida.

Confrontare l'uguaglianza di valori nulli e indefiniti

In JavaScript, nullo è un valore primitivo che viene utilizzato per indicare l'assenza intenzionale di un valore oggetto, mentre non definito è un valore primitivo che funge da segnaposto per una variabile a cui non è stato assegnato un valore.

Nullo e non definito i valori sono uguali se confrontati utilizzando l'operatore di uguaglianza JavaScript.

Utilizzare l'operatore di uguaglianza (==) per confrontare se nullo e non definito i valori sono uguali in JavaScript.

Apri la console del tuo browser e inserisci il seguente codice, quindi premi Accedere.

 null == indefinito 

L'output dovrebbe darti qualcosa che assomiglia a questo, il valore booleano restituito di vero significa semplicemente che i due valori sono uguali.

instagram viewer

Per saperne di più: Come dichiarare le variabili in JavaScript

Confronto rigoroso di uguaglianza

JavaScript ha anche un operatore di identità (), noto anche come operatore di uguaglianza rigorosa in aggiunta all'operatore di uguaglianza (==)

L'operatore di identità fa il possibile per verificare se il tipo sottostante dei valori confrontati è lo stesso. Ciò significa essenzialmente che anche se due valori sono uguali, potrebbero non essere identici o strettamente uguali se i loro tipi sottostanti sono diversi.

Per verificare l'uguaglianza rigorosa, utilizzare il segno di triplo uguale come di seguito.

 nullo indefinito 

Il risultato del comando sopra ti darà un valore booleano di falso, In altre parole, i due valori non sono identici anche se sono uguali.

Scoprire il tipo di nullo e indefinito

Usa la funzione JavaScript integrata tipo di() per scoprire il tipo sottostante di un valore. La funzione accetta un singolo parametro del valore di cui si desidera trovare il tipo.

Relazionato: Il Cheat Sheet di JavaScript definitivo

 tipo di (nullo) 

Il valore null è di tipo oggetto come puoi vedere dall'output qui sotto.

Esecuzione di un test simile sul non definito il valore ti darà un risultato di non definito.

 tipo di (non definito) 

Lavorare con i numeri

Per esplorare ulteriori differenze, esegui il test numerico su nullo e non definito valori. Se un valore è un numero, implica che possiamo eseguire operazioni numeriche su di esso.

Esistono due modi principali per verificare se un valore è un numero in JavaScript.

1. Usando il èFinito() funzione: se il valore in prova è un numero, la funzione restituisce vero; altrimenti ritorna falso.

2. Usando il isNaN() funzione: se il valore in prova è un numero, allora restituisce falso;altrimenti ritorna vero.

Nota: isNaN è l'abbreviazione di "non è un numero".

Per semplificare le cose, questa guida utilizzerà solo il èFinito() funzione per verificare se il valore è un numero, ma sentiti libero di provare anche il isNaN() funzione. Entrambe queste funzioni prendono come parametro il valore su cui si desidera eseguire il test del numero.

isFinite (null) 

Il risultato è vero, senso nullo è un valore del tipo numero in JavaScript. Considerando che, effettuando lo stesso test su non definito ritorna falso.

isFinite (non definito)

Tipo coercizione

JavaScript è un linguaggio di digitazione vaga e per questo motivo, durante l'esecuzione di operazioni matematiche, JavaScript convertirà automaticamente il risultato nel tipo desiderato.

Sfortunatamente questa conversione automatica, comunemente chiamata coercizione di tipo, può portare con sé molte sorprese.

Esegui la seguente operazione numerica su nullo e non definito nella console del tuo browser.

1 + null
3 * nullo
1 + indefinito
3 * non definito;

Come puoi vedere, puoi eseguire alcune operazioni numeriche sul nullo value perché è un numero che non contiene alcun valore. Pertanto, viene trattato come uno zero. Prendi nota che nullo non è uguale a zero in JavaScript, ma in qualche modo viene trattato così in questo caso.

Le operazioni numeriche sul non definito valore comporta la restituzione di NaN (Non un numero) valore. Se non trattato con attenzione, potresti riscontrare questo problema durante il runtime.

Evitare bug di runtime

Una buona comprensione di nullo e non definito valori è vitale per evitare bug di runtime nel codice di produzione. Bug relativi a non definito i valori possono essere difficili da eseguire il debug ed è meglio evitarli.

Prendi in considerazione l'utilizzo di TypeScript per codice fortemente tipizzato che viene compilato in JavaScript. In TypeScript il tuo codice viene controllato in fase di compilazione per ridurre al minimo i bug di runtime nel codice di produzione.

E-mail
Argomenti correlati
  • Programmazione
  • JavaScript
  • Suggerimenti per la codifica
Circa l'autore
Mwiza Kumwenda (22 articoli pubblicati)

Mwiza sviluppa software di professione e scrive ampiamente su Linux e programmazione front-end. Alcuni dei suoi interessi includono storia, economia, politica e architettura d'impresa.

Altro da Mwiza Kumwenda

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.