&& en || gebruiken buiten een if-clausule in JavaScript

U hebt de operatoren && en || misschien wel eens gebruikt wanneer u een voorwaarde in een if-clausule schrijft. Maar wist u dat ze in JavaScript evalueren naar expressiewaarden, zoals tekenreeksen en getallen, in plaats van naar de booleaanse waarden true en false?

Dit stelt u in staat de operatoren && en || te gebruiken in expressies buiten de if-clausule om. Het biedt korte manieren om een vroegtijdige stop uit te drukken met behulp van && en om een standaardwaarde uit te drukken met behulp van ||.

If-clause werkt op truthy en falsy waarden

Het feit dat && en || operatoren evalueren naar strings en getallen breekt de if-clause niet omdat condities anders worden geëvalueerd in JavaScript.

In plaats van dat de if-clausule zijn volgende zet bepaalt op basis van true of false, bepaalt hij dat de voorwaarde waarheidsgetrouw of vals is.

De definitie is

Een waarde is vals als deze false, null, undefined, '', 0 of NaN is. Een waarheidsgetrouwe waarde is elke waarde die niet als vals wordt beschouwd.

Laten we deze informatie in gebruik nemen.

Gebruik && om u te beschermen tegen ongedefinieerd

Een veel voorkomende situatie is de toegang tot geneste objecteigenschappen met behulp van puntnotatie. Bijvoorbeeld request.session.id. In dit geval, als een object langs de weg undefined een “Uncaught TypeError: Cannot read property of undefined” fout wordt gegooid.

De fout kan worden vermeden door && te gebruiken om veilig te zijn tegen undefined.

1
const sessionId = request.session && request.session.id;

Hier evalueert de expressie veilig naar undefined zonder een fout te gooien.

De definitie voor && is

De &&-operator evalueert naar de expressie aan de linkerkant als deze falsy is, anders naar de expressie aan de rechterkant.

Gebruik || om standaard waarde te geven

Een ander veel voorkomend gebruik is om een waarde op te halen, en als die niet bestaat dan een standaard waarde te gebruiken.

Dit kan worden bereikt met behulp van ||-operator.

1
const name = user.name || 'Guest';

De definitie voor || is

De ||-operator evalueert naar de linkse expressie als deze waarheidsgetrouw is, anders naar de rechtse.

Leesbaarheid

Deze twee nieuwe tools zijn een mooie toevoeging aan uw gereedschapskist. Maar zoals altijd, leesbaarheid komt op de eerste plaats. Gebruik ze verstandig, waar ze het beste passen. Zorg ervoor dat iedereen in je team weet hoe je ze moet gebruiken, bijvoorbeeld door dit artikel aan hen door te geven.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.