Spring til indhold
Academi.dk

JavaScript

if og else

Begynder DA↔EN-ordliste 1 øvelse

En if-sætning lader programmet vælge. Du skriver en betingelse i parentesen, og koden i krølleparenteserne kører kun, hvis betingelsen er sand. Med else angiver du, hvad der skal ske ellers, og med else if kan du stille flere spørgsmål efter hinanden.

Forudsætter, at du har set variabler i javascript .

Programmet skal kunne vælge

Indtil nu har din kode kørt oppefra og ned, én linje ad gangen. En if-sætning er den første måde at bryde den rækkefølge på: den stiller et spørgsmål, og afhængigt af svaret springes en blok kode enten over eller ej.

Eksempel
const alder = 17;

if (alder >= 18) {
console.log("Du må stemme");
} else {
console.log("Du må ikke stemme endnu");
}

Output

Tryk på “Kør koden”.

Ret 17 til 19 og kør igen. Det er hele mekanikken: parentesen indeholder noget, der enten er sandt eller falsk, og kun den ene blok kører.

Flere muligheder med else if

Skal der være mere end to udfald, hænger du dem sammen. JavaScript prøver dem oppefra og ned og stopper ved den første, der er sand.

Eksempel
const karakter = 7;

if (karakter >= 10) {
console.log("Rigtig flot");
} else if (karakter >= 4) {
console.log("Bestået");
} else if (karakter === 2) {
console.log("Lige akkurat");
} else {
console.log("Ikke bestået");
}

Output

Tryk på “Kør koden”.

Rækkefølgen betyder alt. Havde karakter >= 4 stået øverst, ville en 12’er også ryge derind, fordi 12 jo også er større end 4, og så ville den flotte besked aldrig blive skrevet. Test altid en else if-kæde med en værdi fra hver gren.

Betingelsen behøver ikke være en sammenligning

Alt, hvad du skriver i parentesen, bliver lavet om til sandt eller falsk. Det er værd at kende de værdier, der tæller som falske, fordi de dukker op hele tiden:

  • false
  • 0
  • "" (den tomme tekst)
  • undefined
  • null
  • NaN

Alt andet er sandt, også teksten "false" og tallet -1.

Eksempel
const navn = "";

if (navn) {
console.log("Der er skrevet et navn");
} else {
console.log("Feltet er tomt");
}

Output

Tryk på “Kør koden”.

Det bruges konstant til at tjekke, om der overhovedet er en værdi, før man regner på den.

To vaner, der sparer dig for timer

Sæt altid krølleparenteser på. JavaScript tillader if (x) doNoget(); uden dem, men så snart du tilføjer en linje mere, kører den anden linje altid, også når betingelsen er falsk. Det er en klassisk fejl, og den er svær at få øje på.

Undgå at nedgrave if i if i if. Er du tre niveauer nede, kan du næsten altid vende betingelsen om og komme ud tidligt i stedet:

Eksempel
function beskrivPris(pris) {
if (typeof pris !== "number") {
  return "Ugyldig pris";
}

if (pris === 0) {
  return "Gratis";
}

return "Koster " + pris + " kr.";
}

console.log(beskrivPris(0));
console.log(beskrivPris("400"));
console.log(beskrivPris(400));

Output

Tryk på “Kør koden”.

Kort opsamling

  • if (betingelse) { ... } kører blokken, når betingelsen er sand.
  • else if prøves oppefra og ned; den første sande vinder.
  • Tom tekst, 0, undefined, null og NaN tæller som falske.
  • Skriv altid krølleparenteser, også ved én linje.

Øv dig

Læs videre

Senest gennemgået .