⊗jsPmCdCWB 119 of 505 menu

Sammenligning af værdier med boolsk type i JavaScript

I det forrige eksempel brugte vi til sammenligning operatoren ===. I dette tilfælde blev vores variabel sammenlignet med lighed med true både på værdi og type.

Til sådan sammenligning kan man også bruge operatoren ==. Hvis variablen test altid vil være en af værdierne true eller false, så ændrer intet sig:

let test = true; // skriver enten true eller false her if (test == true) { console.log('+++'); } else { console.log('---'); }

Men hvis variablen test kan indeholde enhver værdi, så bliver alt mere kompliceret.

I sådant tilfælde, hvis variablen test ikke indeholder en boolsk værdi, så vil denne værdi først blive konverteret til en boolsk værdi og først derefter blive sammenlignet.

Lad for eksempel variablen test indeholde tallet 1. I dette tilfælde vil det først blive konverteret til den logiske type, altså til true. Og derefter vil sammenligningen blive udført:

let test = 1; if (test == true) { console.log('+++'); // dette vil køre } else { console.log('---'); }

Men for eksempel vil tallet 0 blive konverteret til false. Og vores betingelse vil som resultat udskrive 'forkert':

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); // dette vil køre }

Faktisk kan en sådan sammenligning eksplicit omskrives på følgende måde:

let test = 1; if (Boolean(test) == true) { console.log('+++'); } else { console.log('---'); }

Husk og skriv, hvilke værdier der ved konvertering til den logiske type giver false.

Uden at køre koden, afgør hvad der udskrives i konsollen:

let test = 1; if (test == true) { console.log('+++'); } else { console.log('---'); }

Uden at køre koden, afgør hvad der udskrives i konsollen:

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); }

Uden at køre koden, afgør hvad der udskrives i konsollen:

let test = 1; if (test == false) { console.log('+++'); } else { console.log('---'); }

Uden at køre koden, afgør hvad der udskrives i konsollen:

let test = 1; if (test != true) { console.log('+++'); } else { console.log('---'); }

Uden at køre koden, afgør hvad der udskrives i konsollen:

let test = ''; if (test == false) { console.log('+++'); } else { console.log('---'); }

Uden at køre koden, afgør hvad der udskrives i konsollen:

let test; if (test == true) { console.log('+++'); } else { console.log('---'); }

Uden at køre koden, afgør hvad der udskrives i konsollen:

let test = 3 * 'a'; if (test == true) { console.log('+++'); } else { console.log('---'); }
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis