Det JavaScripthvis erklæring udfører en handling baseret på en betingelse, et almindeligt scenario på alle programmeringssprog. Det hvis erklæring tester en smule data mod en betingelse og specificerer derefter en kode, der skal udføres, hvis betingelsen er sand, ligesom det:
hvis betingelse {
udfør denne kode
}
Det hvis erklæring er næsten altid parret med andet udsagn, fordi du normalt ønsker at definere en alternativ bit kode, der skal udføres. Lad os overveje et eksempel:
if ('Stephen' navn) {
message = "Velkommen tilbage Stephen";
} andet {
meddelelse = "Velkomst" + navn;
}
Denne kode returnerer "Velkommen tilbage Stephen" hvis navn er lig med Stephen; Ellers returnerer det "Velkommen" og derefter uanset hvilken værdi variablen har navn indeholder.
En kortere IF-erklæring
JavaScript giver os en alternativ måde at skrive en hvis udsagn, når både de sande og falske forhold bare tildeler forskellige værdier til den samme variabel.
Denne kortere måde udelader nøgleordet hvis såvel som seler rundt om blokke (som er valgfri til enkeltangivelser). Vi flytter også den værdi, som vi sætter i både de sande og falske forhold foran på vores enkelt udsagn og integrerer denne nye stil
hvis erklæring i selve erklæringen.Sådan ser det ud:
variabel = (betingelse)? sand værdi: falsk værdi;
Så vores hvis udsagn ovenfra kunne skrives alt sammen på en linje som:
message = ('Stephen' navn)? "Velkommen tilbage Stephen": "Velkommen" + navn;
For så vidt angår JavaScript er denne erklæring identisk med den længere kode ovenfra.
Den eneste forskel er, at det faktisk er muligt at skrive erklæringen på denne måde JavaScript med mere information om, hvad hvis udsagnet gør. Koden kan køre mere effektivt, end hvis vi skrev den på en længere og mere læselig måde. Dette kaldes også a ternary operator.
Tildeling af flere værdier til en enkelt variabel
Denne måde at kode en if-sætning på kan hjælpe med at undgå verboskode, især i indlejret hvis udsagn. Overvej f.eks. Dette sæt indlejrede, hvis / andet-udsagn:
var svar;
hvis (a == b) {
hvis (a == c) {
answer = "alle er ens";
} andet {
answer = "a og b er ens";
}
} andet {
hvis (a == c) {
answer = "a og c er ens";
} andet {
hvis (b == c) {
answer = "b og c er ens";
} andet {
answer = "alle er forskellige";
}
}
}
Denne kode tildeler en af fem mulige værdier til en enkelt variabel. Ved hjælp af denne alternative notation kan vi markant forkorte dette til kun en erklæring, der indeholder alle betingelserne:
var svar = (a == b)? ((a == c)? "alle er lige":
"a og b er ens"): (a == c)? "a og c er ens": (b == c)?
"b og c er ens": "alle er forskellige";
Bemærk, at denne notation kun kan bruges, når alle de forskellige betingelser, der testes, tildeler forskellige værdier til samme variabel.