You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/da/2-js-basics/3-making-decisions
Lee Stott 2daab5271b
Update Quiz Link
3 weeks ago
..
README.md Update Quiz Link 3 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 4 weeks ago

README.md

JavaScript Grundlæggende: At Træffe Beslutninger

JavaScript Grundlæggende - At træffe beslutninger

Sketchnote af Tomomi Imura

Quiz Før Lektionen

Quiz før lektionen

At træffe beslutninger og kontrollere rækkefølgen, hvori din kode kører, gør din kode genanvendelig og robust. Dette afsnit dækker syntaksen for at kontrollere dataflow i JavaScript og dens betydning, når den bruges med Booleske datatyper.

At Træffe Beslutninger

🎥 Klik på billedet ovenfor for en video om at træffe beslutninger.

Du kan tage denne lektion på Microsoft Learn!

En Kort Genopfriskning af Booleans

Booleans kan kun have to værdier: true eller false. Booleans hjælper med at træffe beslutninger om, hvilke linjer kode der skal køres, når bestemte betingelser er opfyldt.

Sæt din boolean til at være sand eller falsk som dette:

let myTrueBool = true
let myFalseBool = false

Booleans er opkaldt efter den engelske matematiker, filosof og logiker George Boole (18151864).

Sammenligningsoperatorer og Booleans

Operatorer bruges til at evaluere betingelser ved at lave sammenligninger, der skaber en Boolesk værdi. Følgende er en liste over ofte anvendte operatorer.

Symbol Beskrivelse Eksempel
< Mindre end: Sammenligner to værdier og returnerer den Booleske datatype true, hvis værdien på venstre side er mindre end højre 5 < 6 // true
<= Mindre end eller lig med: Sammenligner to værdier og returnerer den Booleske datatype true, hvis værdien på venstre side er mindre end eller lig med højre 5 <= 6 // true
> Større end: Sammenligner to værdier og returnerer den Booleske datatype true, hvis værdien på venstre side er større end højre 5 > 6 // false
>= Større end eller lig med: Sammenligner to værdier og returnerer den Booleske datatype true, hvis værdien på venstre side er større end eller lig med højre 5 >= 6 // false
=== Streng lighed: Sammenligner to værdier og returnerer den Booleske datatype true, hvis værdierne på højre og venstre er ens OG har samme datatype. 5 === 6 // false
!== Ulighed: Sammenligner to værdier og returnerer den modsatte Booleske værdi af, hvad en streng lighedsoperator ville returnere 5 !== 6 // true

Test din viden ved at skrive nogle sammenligninger i din browsers konsol. Overrasker nogen af de returnerede data dig?

If-sætning

If-sætningen kører koden mellem dens blokke, hvis betingelsen er sand.

if (condition) {
  //Condition is true. Code in this block will run.
}

Logiske operatorer bruges ofte til at danne betingelsen.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
}

If..Else-sætning

else-sætningen kører koden mellem dens blokke, når betingelsen er falsk. Den er valgfri med en if-sætning.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is false. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

Test din forståelse af denne kode og den følgende kode ved at køre den i en browserkonsol. Ændr værdierne af variablerne currentMoney og laptopPrice for at ændre den returnerede console.log().

Switch-sætning

switch-sætningen bruges til at udføre forskellige handlinger baseret på forskellige betingelser. Brug switch-sætningen til at vælge en af mange kodeblokke, der skal udføres.

switch (expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
  // code block
}
// program using switch statement
let a = 2;

switch (a) {
  case 1:
    a = "one";
    break;
  case 2:
    a = "two";
    break;
  default:
    a = "not found";
    break;
}
console.log(`The value is ${a}`);

Test din forståelse af denne kode og den følgende kode ved at køre den i en browserkonsol. Ændr værdierne af variablen a for at ændre den returnerede console.log().

Logiske Operatorer og Booleans

Beslutninger kan kræve mere end én sammenligning og kan kædes sammen med logiske operatorer for at producere en Boolesk værdi.

Symbol Beskrivelse Eksempel
&& Logisk OG: Sammenligner to Booleske udtryk. Returnerer true kun, hvis begge sider er sande (5 > 6) && (5 < 6 ) //Den ene side er falsk, den anden er sand. Returnerer false
|| Logisk ELLER: Sammenligner to Booleske udtryk. Returnerer true, hvis mindst én side er sand (5 > 6) || (5 < 6) //Den ene side er falsk, den anden er sand. Returnerer true
! Logisk IKKE: Returnerer den modsatte værdi af et Boolesk udtryk !(5 > 6) // 5 er ikke større end 6, men "!" vil returnere true

Betingelser og Beslutninger med Logiske Operatorer

Logiske operatorer kan bruges til at danne betingelser i if..else-sætninger.

let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off

if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is true. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

Negationsoperator

Du har indtil videre set, hvordan du kan bruge en if...else-sætning til at skabe betinget logik. Alt, der går ind i en if, skal evaluere til sandt/falsk. Ved at bruge !-operatoren kan du negere udtrykket. Det vil se sådan ud:

if (!condition) {
  // runs if condition is false
} else {
  // runs if condition is true
}

Ternære udtryk

if...else er ikke den eneste måde at udtrykke beslutningslogik på. Du kan også bruge noget, der kaldes en ternær operator. Syntaksen for den ser sådan ud:

let variable = condition ? <return this if true> : <return this if false>

Nedenfor er et mere konkret eksempel:

let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;

Tag et øjeblik til at læse denne kode et par gange. Forstår du, hvordan disse operatorer fungerer?

Ovenstående siger, at

  • hvis firstNumber er større end secondNumber
  • så tildel firstNumber til biggestNumber
  • ellers tildel secondNumber.

Den ternære udtryksform er blot en kompakt måde at skrive koden nedenfor på:

let biggestNumber;
if (firstNumber > secondNumber) {
  biggestNumber = firstNumber;
} else {
  biggestNumber = secondNumber;
}

🚀 Udfordring

Lav et program, der først er skrevet med logiske operatorer, og omskriv det derefter ved hjælp af et ternært udtryk. Hvad er din foretrukne syntaks?


Quiz Efter Lektionen

Quiz efter lektionen

Gennemgang & Selvstudie

Læs mere om de mange operatorer, der er tilgængelige for brugeren på MDN.

Gå igennem Josh Comeaus fantastiske operatoropslag!

Opgave

Operatorer


Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at opnå nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.