Použití && a || mimo if klauzuli v JavaScriptu

Při zápisu podmínky v if klauzuli jste možná použili operátory && a ||. Věděli jste ale, že v jazyce JavaScript se vyhodnocují na hodnoty výrazů, jako jsou řetězce a čísla, místo na logické hodnoty true a false?

To vám umožňuje používat operátory && a || ve výrazech mimo if-clause. Poskytuje zkrácené způsoby vyjádření předčasného ukončení pomocí && a vyjádření výchozí hodnoty pomocí ||.

If-clause pracuje s pravdivostními a falešnými hodnotami

To, že operátory && a || vyhodnocují řetězce a čísla, neporušuje if-clause, protože podmínky se v JavaScriptu vyhodnocují jinak.

Místo toho, aby se if-clause rozhodovala o svém dalším postupu podle toho, zda je podmínka true nebo false, rozhoduje se podle toho, zda je podmínka pravdivá nebo falešná.

Definice je

Hodnota je falešná, pokud je false, null, undefined, '', 0 nebo NaN. Pravdivá hodnota je jakákoli hodnota, která není považována za falsy.

Použijeme tuto informaci.

Použijeme && pro bezpečnou ochranu před nedefinovanými

Běžnou situací je přístup k vnořeným vlastnostem objektu pomocí tečkové notace. Například request.session.id. V takovém případě, pokud je některý objekt na cestě undefined, dojde k chybě „Uncaught TypeError:

Chybě se lze vyhnout použitím && pro bezpečnou ochranu před neurčitostí.

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

V tomto případě se výraz bezpečně vyhodnotí na undefined, aniž by vyhodil chybu.

Definice pro && je

Operátor && se vyhodnotí na levostranný výraz, pokud je falsy, jinak na pravostranný výraz.

Použití || pro poskytnutí výchozí hodnoty

Dalším častým případem použití je načtení hodnoty, a pokud neexistuje, pak použití výchozí hodnoty.

Toho lze dosáhnout pomocí ||-operátoru.

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

Definice pro || je

Operátor || vyhodnocuje výraz na levé straně, pokud je pravdivý, jinak výraz na pravé straně.

Čitelnost

Tyto dva nové nástroje jsou příjemným doplňkem vaší sady nástrojů. Ale jako vždy je na prvním místě čitelnost. Používejte je s rozumem tam, kde se nejlépe hodí. Nezapomeňte se ujistit, že všichni ve vašem týmu vědí, jak je používat, například tím, že jim předáte tento článek.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.