Logikk er grunnlaget for ethvert program, så du vil mestre logiske operatorer for å strukturere koden din effektivt.
Logiske operatorer lar deg utføre logiske operasjoner på boolske verdier. De lar deg kombinere, negere eller sammenligne boolske verdier og ta logiske avgjørelser i koden din basert på resultatet.
Utforsk de ulike logiske operatørene som JavaScript støtter, inkludert ES6 Nullish-koalesceringsoperatøren.
Den logiske OG (&&)-operatøren
AND (&&) operatoren er en logisk operator som returnerer ekte hvis begge operandene evaluerer til ekte og falsk ellers.
Her er syntaksen til AND-operatoren:
a && b
Her er et eksempel på AND-operatoren som er i bruk:
konst a = 5;
konst b = 10;
konst c = 15;konst resultat_1 = (a < b) && (b < c);
konsoll.log (resultat_1); // sant
konst resultat_2 = (a > b) && (b < c);
konsoll.log (resultat_2); // falsk
I dette eksemplet, resultat_1 vurderer til ekte fordi de to operandene i uttrykket evaluerer til ekte. Derimot, resultat_2 vurderer til falsk fordi den første operanden (a > b) returnerer falsk.
Hvis begge operandene ikke er boolske, JavaScript vil forsøke å konvertere dem til boolske verdier før du evaluerer uttrykket. For å konvertere dem til booleaner, evaluerer JavaScript først om verdiene er sanne eller falske.
JavaScript anser enhver verdi som ikke er eksplisitt falsk, som en sann verdi. Når de konverteres, evalueres de til en boolsk verdi ekte.
Men visse verdier og datatyper i JavaScript er falske, så når JavaScript konverterer dem, evalueres de til en boolsk verdi falsk.
De falske verdiene i JavaScript er:
- falsk
- null
- udefinert
- NaN (Ikke et tall)
- 0
- BigInt (0n)
- Tom streng ("" eller '' eller ``)
- udefinert
Når du bruker AND-operatoren til å evaluere ikke-boolske verdier, returnerer uttrykket umiddelbart den første operandens verdi hvis operanden er falsk uten å evaluere den andre. Denne oppførselen er kjent som kortslutning, og du kan bruke den til å skrive betingede utsagn i JavaScript.
Imidlertid, hvis den første operanden er sann, fortsetter uttrykket med å evaluere den andre operanden. Hvis den andre operanden er sann, returnerer den den.
For eksempel:
konst a = 5;
konst b = 'Hallo';
konst c = null;konst resultat_1 = a && b;
konsoll.log (resultat_1); // "Hallo"
konst resultat_2 = c && b;
konsoll.log (resultat_2); // null
I dette eksemplet, resultat_1 vurderes til "Hallo" fordi begge operandene i uttrykket er sanne. Derimot, resultat_2 kortslutninger og returer null uten å evaluere den andre operanden.
Legg merke til at hvis det er flere operander, vil AND-operatøren fortsette å evaluere dem til den finner en falsk verdi. Hvis den ikke støter på en falsk verdi, returnerer den den siste sanne verdien den møter.
Den logiske ELLER (||)-operatøren
Operatoren OR (||) er en logisk operator som returnerer ekte hvis og bare hvis en eller flere av operandene er det ekte. Det kommer bare tilbake falsk når begge operandene er det falsk.
Her er syntaksen til OR-operatoren:
en || b
Her er et eksempel på OR-operatøren som er i bruk:
konst a = 5;
konst b = 10;
konst c = 15;konst resultat_1 = (a < b) || (b < c);
konsoll.log (resultat_1); // santkonst resultat_2 = (a > b) || (b < c);
konsoll.log (resultat_2); // sant
konst resultat_3 = (a > b) || (b > c);
konsoll.log (resultat_3); // falsk
I eksemplet ovenfor, resultat_1 vurderer til ekte fordi begge operandene i uttrykket evaluerer til ekte. resultat_2 vurderer til ekte fordi den andre operanden evaluerer til ekte. resultat_3 vurderer til falsk fordi de to operandene i uttrykket evaluerer til falsk.
Når du bruker OR-operatoren i ikke-boolske sammenhenger, prøver JavaScript å konvertere til boolske verdier før uttrykket evalueres.
Når uttrykket evalueres, hvis den første operanden er sann, kortslutter operatøren og returnerer den. Men hvis den er falsk, fortsetter den med å evaluere neste operand til den møter en sann operand. Hvis det ikke er noen sanne operander i uttrykket, returnerer det den siste falske verdien det møter.
For eksempel:
konst a = 5;
konst b = 'Hallo';
konst c = null;konst resultat_1 = en || b;
konsoll.log (resultat_1); // 5konst resultat_2 = c || b;
konsoll.log (resultat_2); // "Hallo"
konst resultat_3 = c || " ";
konsoll.log (resultat_3); // " "
I eksemplet ovenfor, resultat_1 kortslutninger og returer 5 fordi det er en sann verdi. resultat_2 returnerer "Hei" fordi det er den første sanne verdien den møter i uttrykket. resultat_3 returnerer en tom streng fordi det er den siste falske verdien i uttrykket.
Den logiske IKKE (!) operatøren
Den logiske NOT (!)-operatoren er en unær operator som returnerer den motsatte boolske verdien av operanden.
Her er syntaksen til NOT-operatoren:
!x
Hvor x er en boolsk eller en sann eller falsk verdi.
Her er et eksempel på NOT-operatøren som er i bruk:
konst a = 5;
konst b = '';
konst c = ekte;konst resultat_1 = !a;
konsoll.log (resultat_1); // falskkonst resultat_2 = !b;
konsoll.log (resultat_2); // sant
konst resultat_3 = !c;
konsoll.log (resultat_3); // falsk
I eksemplet ovenfor returnerer NOT-operatoren den inverse verdien av de boolske operandene. Når du bruker NOT-operatoren i ikke-boolske sammenhenger (resultat_1 & resultat_2), konverterer den sanne verdier til den omvendte verdien av ekte og konverterer de falske verdiene til den inverse verdien av falsk.
The Nullish Coalescing (??) Operatøren
Nullish coalescing-operatoren er en logisk operator som evaluerer to operander og returnerer den første operanden hvis den ikke er det null eller udefinert. Ellers returnerer den den andre operanden.
Ved et øyeblikk kan den nulliske koalesceringsoperatoren virke identisk med den logiske OR (||) operatoren, men det er ikke tilfelle. Den viktigste forskjellen er at ELLER-operatøren returnerer høyreoperanden hvis venstre operande er "hvilken som helst" falsk verdi, ikke bare null eller udefinert.
Det gir en kortfattet måte å velge en standardverdi når du møter null eller udefinert verdier.
Her er syntaksen for den nulliske koalesceringsoperatoren:
x?? y
Her er et eksempel på nullish coalescing-operatøren som er i bruk:
konst navn = null;
konst defaultName = "John Doe";konst resultat_1 = navn?? defaultName;
konsoll.log (resultat_1); // "John Doe"konst alder = 0;
konst defaultAlder = 25;
konst resultat_2 = alder?? defaultAlder;
konsoll.log (resultat_2); // 0
I eksemplet ovenfor, resultat_1 returnerer "John Doe" fordi den første operanden hadde en verdi på null. resultat_2 returnerer 0 fordi selv om det er en falsk verdi, er det ingen av delene null eller udefinert.
Bruke logiske operatører i koden din
Logiske operatorer brukes ofte til å skrive betingede utsagn, tildele standardverdier eller bytte boolske verdier basert på betingelser.
Ved å bruke disse logiske operatorene kan du skrive mer kortfattet og uttrykksfull kode som håndterer ulike scenarier basert på sannheten eller usannheten til verdier.