En betinget sætning lader dig køre en kodeblok baseret på en specifik betingelse.
JavaScript-sproget giver forskellige måder at bruge betingede udsagn på. Mange af dem er også fælles for andre programmeringssprog. Men du bør være opmærksom på deres individuelle fordele, og hvordan de fungerer i JavaScript.
1. if-else og else-if erklæringer
An hvis ellers sætning udfører en blok, hvis dens tilstand er sand, og den anden blok, hvis den er falsk. En else-if udfører den blok, der matcher en af flere betingelser, eller en standardblok, hvis ingen betingelser matcher.
En sand værdi er en værdi, som JavaScript overvejer rigtigt når den støder på det en boolsk kontekst. En falsk værdi er en værdi, som JavaScript overvejer falsk når den støder på det i en boolsk sammenhæng.
JavaScript betragter alle værdier som sande, medmindre de er en af et lille antal, der er falske. De falske værdier er falsk, 0, -0, 0n, "", nul, udefineret, og NaN.
Her er syntaksen for en hvis ellers udmelding:
if (tilstand) {
// Hvis betingelsen er en sand værdi, vil denne kodeblok køre
} andet {
// Hvis betingelsen er en falsk værdi, vil denne kodeblok køre
}
I nogle tilfælde vil du måske tjekke flere relaterede forhold. I disse scenarier kan du bruge en andet-hvis at vurdere de ekstra forhold.
For eksempel:
if (tilstand) {
// Hvis betingelsen er sand, vil denne kodeblok køre, og kodeudførelse
// vil stoppe.
} andethvis (tilstand_2) {
// Hvis den første betingelse er falsk, vil denne kodeblok køre hvis betingelse_2
// er sandt
} andethvis (tilstand_n) {
// Hvis de tidligere betingelser begge er falske, vil denne kodeblok køre if
// condition_n er sandt
} andet {
// Hvis alle betingelser er falske, vil denne kodeblok køre
}
Ved brug af andet-hvis udsagn, kan du vurdere så mange forhold, du vil. Denne metode bliver dog hurtigt uskøn og svær at vedligeholde, efterhånden som antallet af tilstande stiger.
JavaScript giver en renere måde at evaluere flere forhold kaldet kontakt udmelding.
2. Switch-erklæringen
Det kontakt sætning evaluerer et udtryk én gang og forsøger at matche det med en eller flere mulige værdier. Du kan angive hver potentielt matchende værdi efter en sag søgeord.
Når switch-sætningen finder et match, kører den alle sætningerne efter den, indtil den støder på en pause udmelding.
Her er syntaksen for switch-sætningen:
kontakt (udtryk) {
sag 'først-sag':
// udfører kode, hvis udtrykket matcher dette tilfælde
pause;sag 'sag_2':
// udfører kode, hvis udtrykket matcher dette tilfælde
pause;
Standard:
// udfører kode, hvis udtrykket ikke matcher nogen store og små bogstaver
}
Det pause udsagn er en væsentlig del af kontakt blokere, fordi de angiver, hvor koden skal stoppe med at køre. Hvis du går glip af en break-sætning, vil kodeudførelsen fortsætte og udføre alle de andre kodeblokke efter den første match. Det er sjældent, hvad du ønsker skal ske.
3. Den ternære operatør
JavaScript giver dig også mulighed for at forkorte betingede udsagn ved hjælp af den ternære operator.
Den ternære operator tager tre operander:
- En betingelse efterfulgt af et spørgsmålstegn (?).
- Et udtryk efter spørgsmålstegnet og før et kolon (:). Dette vil køre, hvis betingelsen er sand.
- Et udtryk efter kolon, som vil køre, hvis betingelsen er falsk.
For eksempel:
tilstand? console.log('Tilstanden er sand'): console.log('Tilstanden er falsk');
Udsagnet ovenfor betyder effektivt "Hvis 'tilstand' er sand, log den første besked, ellers log den anden besked".
4. Kortslutning
Kortslutning er en teknik, der involverer brug af de logiske operatorerELLER (||) og OG (&&) for at evaluere et udtryk fra venstre mod højre.
En operation, der involverer OR-operatøren, vil kortslutte ved at returnere den første sande værdi, den støder på. Hvis alle værdierne i udtrykket er falske, kortslutter det og returnerer den sidste falske værdi.
En operation, der bruger AND-operatoren, vil kortslutte ved at returnere den første falske erklæring, den støder på. Hvis alle udsagn i udtrykket er sande, kortslutter det og returnerer den sidste sandhedsværdi.
Her er et eksempel på at skrive en betinget erklæring med OR-operatøren.
app.listen (proces.env. PORT || 3000)
Denne kortslutningstilgang til at skrive betingede erklæringer er populær i Express-applikationer. Det lyder, "hvis HAVN miljøvariabel eksisterer, brug den; ellers skal du bruge port 3000”.
Her er et eksempel på at skrive en betinget erklæring med AND-operatoren.
foo && console.log('foo er defineret')
Kodeblokken ovenfor betyder "hvis foo er defineret, skal du kalde funktionen console.log()”.
Denne teknik er den korteste måde at skrive en betinget på, men den kan gøre kode sværere at læse. Du bør undgå at overbruge det, især når du arbejder som en del af et større team.
Vigtigheden af betingede erklæringer
Betingede erklæringer er det, der tillader dit program at træffe beslutninger. Uden dem vil din kode køre i en lige vej fra start til slut. De er også en del af loops. Uden dem ville loops køre uendeligt, og dermed ødelægge din applikation.