Usare && e || fuori dalla clausola if in JavaScript
Potreste aver usato gli operatori &&
e ||
quando scrivete una condizione in una clausola if
. Ma sapevate che, in JavaScript, valutano i valori delle espressioni, come stringhe e numeri, invece dei valori booleani true
e false
?
Questo vi permette di usare gli operatori &&
e ||
in espressioni al di fuori delle if
-clausole. Fornisce modi brevi per esprimere un arresto anticipato usando &&
e per esprimere un valore predefinito usando ||
.
If-clausola opera su valori veri e falsi
Il fatto che gli operatori &&
e ||
valutino a stringhe e numeri non rompe la if
-clausola perché le condizioni sono valutate diversamente in JavaScript.
Invece della clausola if
che decide la sua prossima mossa in base alla condizione che è true
o false
, decide in base alla condizione che è vera o falsa.
La definizione è
Un valore è falso se è
false
,null
,undefined
,''
,0
oNaN
. Un valore veritiero è qualsiasi valore non considerato falso.
Mettiamo questa informazione in uso.
Utilizzate && per proteggervi dagli indefiniti
Una situazione comune è quella di accedere alle proprietà di oggetti annidati usando la notazione per punti. Per esempio request.session.id
. In questo caso, se un qualsiasi oggetto lungo il percorso è undefined
un “Uncaught TypeError: Cannot read property of undefined” error is thrown.
L’errore può essere evitato usando &&
per proteggersi dagli indefiniti.
Qui l’espressione valuta a undefined
in sicurezza senza lanciare un errore.
La definizione per &&
è
L’operatore
&&
valuta all’espressione di sinistra se è falsata, altrimenti all’espressione di destra.
Usa || per fornire un valore predefinito
Un altro caso d’uso comune è quello di recuperare un valore, e se non esiste allora usare un valore predefinito.
Questo può essere ottenuto usando l’operatore ||
.
La definizione per ||
è
L’operatore
||
valuta l’espressione di sinistra se è vera, altrimenti l’espressione di destra.
Leggibilità
Questi due nuovi strumenti sono delle belle aggiunte alla tua cassetta degli attrezzi. Ma come sempre, la leggibilità viene prima di tutto. Usali saggiamente, dove si adattano meglio. Ricordati di assicurarti che tutti nel tuo team sappiano come usarli, per esempio passando loro questo articolo.