Frontend Academy · Lektion

Datatyper: string, number, boolean, null og undefined

Udforsk JavaScripts primitive typer, brug typeof til at undersøge dem, og lær forskellen mellem null og undefined.

Lektion 2 af 413 trin

Datatyper: string, number, boolean, null og undefined er en gratis Frontend Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Frontend Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Frontend Academy-kurset indeholder 4 lektioner i alt.

Javascripts typesystem

JavaScript er dynamisk typet — variabler har ikke typer, det har værdier. Den samme variabel kan indeholde en streng, derefter et tal og derefter null. Når du forstår de syv primitive typer, forebygger du en hel kategori fejl.

string

Strenge repræsenterer tekst. Brug enkeltanførselstegn, dobbeltanførselstegn eller backtick-tegn (skabelonliteral). De er uforanderlige — strengmetoder returnerer nye strenge. Strenge har egenskaben .length og mange indbyggede metoder.

const greeting = 'Hello';
const lang = "JavaScript";
const sentence = `I love ${lang}`;  // template literal

console.log(greeting.length);   // 5
console.log('hello'.toUpperCase()); // 'HELLO'
console.log(' trim me '.trim()); // 'trim me'

number

JavaScript har én numerisk type. Alle tal — heltal og kommatal — er 64-bit flydende kommatal (IEEE 754). Det betyder, at 0.1 + 0.2 !== 0.3. Særlige værdier er Infinity, -Infinity og NaN (ikke et tal).

const age = 30;
const price = 19.99;
console.log(0.1 + 0.2);          // 0.30000000000000004
console.log(typeof NaN);          // 'number'
console.log(isNaN('hello'));      // true
console.log(Number.isNaN('hello')); // false (safer check)

boolean

Booleske værdier er true eller false. De bruges i betingelser og sammenligninger. Alle værdier i JavaScript har en iboende sandhedsværdi: falske værdier er false, 0, '', null, undefined og NaN. Alt andet er sandt.

const isActive = true;
const isAdmin = false;

// Falsy values:
if (0) { /* never runs */ }
if ('') { /* never runs */ }
if (null) { /* never runs */ }

null

null er en udtrykkeligt tildelt tom værdi. Det betyder, at der med vilje ikke er nogen værdi. Brug null, når du vil rydde en variabel eller angive fravær. typeof null === 'object' er en berømt JavaScript-fejl, som er bevaret af hensyn til bagudkompatibilitet.

let selectedUser = null;  // no user selected yet
selectedUser = { name: 'Alice' };
selectedUser = null;       // cleared

undefined

undefined betyder, at en værdi endnu ikke er tildelt. Variabler, der er deklareret, men ikke initialiseret, er undefined. Manglende funktionsargumenter er undefined. Manglende egenskaber i objekter returnerer undefined.

let x;                       // undefined
function greet(name) {
  console.log(name);           // undefined if called as greet()
}
const obj = {};
console.log(obj.foo);         // undefined

null kontra undefined

null = med vilje fraværende. undefined = endnu ikke tildelt. Som tommelfingerregel: Lad motoren sætte undefined, og brug selv null udtrykkeligt i din kode, når du mener tom.

Operatoren typeof

Brug typeof til at undersøge en værdis type under kørsel. Den returnerer en streng: 'string', 'number', 'boolean', 'undefined', 'object', 'function', 'bigint', 'symbol'. Husk, at typeof null === 'object' er en kendt fejl.

typeof 'hello'     // 'string'
typeof 42          // 'number'
typeof true        // 'boolean'
typeof undefined   // 'undefined'
typeof null        // 'object' ← historical bug
typeof {}          // 'object'
typeof []          // 'object'
typeof function(){} // 'function'

Symbol og BigInt

Symbol: en unik, uforanderlig identifikator, der bruges som egenskabsnøgle i objekter, hvor kollisioner skal undgås. BigInt: heltal, der er større end Number.MAX_SAFE_INTEGER (2^53-1). Oprettes med 42n eller BigInt(42). Det er ikke nødvendigt til det meste frontendudvikling.

Faldgruber ved typekonvertering

JavaScript konverterer lydløst typer i sammenligninger og operationer. Brug === (streng lighed) i stedet for == (løs lighed) for at undgå overraskelser ved typekonvertering.

0 == false        // true (coercion)
0 === false       // false (strict, no coercion)
'' == false       // true
'5' == 5          // true
'5' === 5         // false ✓ use this

Typekonvertering

Konverter typer udtrykkeligt med Number(), String(), Boolean() eller parseInt() / parseFloat(). Udtrykkelig konvertering er altid tydeligere end at stole på automatisk typekonvertering.

Number('42')      // 42
Number('')        // 0
Number('abc')     // NaN
String(42)        // '42'
Boolean(0)        // false
Boolean('hello')  // true
parseInt('10px')  // 10

Hurtigt tjek

Hvad returnerer typeof null i JavaScript?

Opsummering: JavaScripts datatyper

Syv primitive typer: string, number, boolean, null, undefined, symbol og bigint. Brug typeof til at undersøge typer. Brug === til sammenligninger for at undgå typekonvertering. Skeln mellem null (udtrykkeligt tom) og undefined (endnu ikke tildelt). Alle andre værdier er objekter.

Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
41
Lektioner
163

Ofte stillede spørgsmål

Er lektionen “Datatyper: string, number, boolean, null og undefined” gratis?

Ja — hele teksten til “Datatyper: string, number, boolean, null og undefined” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Frontend Academy-kurset, skal du opgradere til CoddyKit PRO. Frontend Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Datatyper: string, number, boolean, null og undefined”?

Udforsk JavaScripts primitive typer, brug typeof til at undersøge dem, og lær forskellen mellem null og undefined. Du øver dig i Frontend Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Frontend Academy?

Der kræves ingen tidligere erfaring. Frontend Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Datatyper: string, number, boolean, null og undefined”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Frontend Academy-lektion?

Ja. Alle Frontend Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Variabler: let, const, var og scope
  2. Datatyper: string, number, boolean, null og undefined
  3. Funktioner: erklæringer, udtryk og arrow functions
  4. Kontrolflow: if, else, switch, for og while
← Tilbage til Frontend Academy