8. februar 2026

Logiske operatorer

Der er fire logiske operatorer i JavaScript: || (ELLER), && (OG), ! (IKKE), ?? (Nullish Coalescing). Her dækker vi de første tre, ??-operatoren er i den næste artikel.

Selvom de kaldes “logiske”, kan de anvendes på værdier af enhver type, ikke kun boolean. Deres resultat kan også være af enhver type.

Lad os se detaljerne.

|| (ELLER)

“ELLER”-operatoren repræsenteres med to lodrette stregsymboler:

result = a || b;

I klassisk programmering er den logiske ELLER beregnet til kun at manipulere booleske værdier. Hvis nogen af dens argumenter er true, returnerer den true, ellers returnerer den false.

I JavaScript er operatoren lidt mere kompliceret og mere kraftfuld. Men først, lad os se hvad der sker med booleske værdier.

Der er fire mulige logiske kombinationer:

alert( true || true );   // true
alert( false || true );  // true
alert( true || false );  // true
alert( false || false ); // false

Som vi kan se, er resultatet altid true undtagen i tilfælde, hvor begge operander er false.

Hvis en operand ikke er en boolean, konverteres den til en boolean for evalueringen.

For eksempel behandles tallet 1 som true, tallet 0 som false:

if (1 || 0) { // virker ligesom if( true || false )
  alert( 'sand!' );
}

For det meste bruges ELLER || i et if-udsagn til at teste, om nogen af de givne betingelser er true.

For eksempel:

let hour = 9;

if (hour < 10 || hour > 18) {
  alert( 'Kontoret er lukket.' );
}

Vi kan tilføje flere betingelser:

let hour = 12;
let isWeekend = true;

if (hour < 10 || hour > 18 || isWeekend) {
  alert( 'Kontoret er lukket.' ); // det er weekenden
}

OR "||" finder den første sandfærdige værdi

Den logik, der er beskrevet ovenfor, er noget klassisk. Nu bringer vi “ekstra” funktioner i JavaScript.

Den udvidede algoritme fungerer som følger.

Givet flere OR’ed værdier:

result = value1 || value2 || value3;

OR || operatoren gør følgende:

  • Evaluerer operander fra venstre mod højre.
  • For hver operand konverteres den til en boolean. Hvis resultatet er true, stopper den og returnerer den oprindelige værdi af den operand.
  • Hvis alle operander er blevet evalueret (dvs. alle var false), returneres den sidste operand.