Frontend Academy · leksjon

Datatyper: string, number, boolean, null og undefined

Utforsk JavaScripts primitive typer, bruk typeof til å undersøke dem, og lær forskjellen mellom null og undefined.

Leksjon 2 av 413 trinn

Datatyper: string, number, boolean, null og undefined er en gratis leksjon i Frontend Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Frontend Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Frontend Academy inneholder totalt 4 leksjoner.

JavaScripts typesystem

JavaScript er dynamisk typet — variabler har ikke typer, det er verdier som har typer. Den samme variabelen kan inneholde en streng, deretter et tall og så null. Når du forstår de sju primitive typene, unngår du en stor klasse feil.

string

Strenger representerer tekst. Bruk enkle anførselstegn, doble anførselstegn eller backtick (template literal). De er uforanderlige — strengmetoder returnerer nye strenger. Strenger har en .length-egenskap og mange innebygde 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 tall — heltall og desimaltall — er 64-biters flyttall (IEEE 754). Derfor er 0.1 + 0.2 !== 0.3. Spesialverdier er Infinity, -Infinity og NaN (Not a Number).

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

Boolsk verdi er enten true eller false. De brukes i betingelser og sammenligninger. Alle verdier i JavaScript har en iboende sannhetsverdi: falsy-verdier er false, 0, '', null, undefined og NaN. Alt annet er truthy.

const isActive = true;
const isAdmin = false;

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

null

null er en tom verdi som er tilordnet uttrykkelig. Det betyr «ingen verdi med hensikt». Bruk null når du vil tømme en variabel eller angi at noe mangler. typeof null === 'object' er en kjent JavaScript-feil som er beholdt av hensyn til bakoverkompatibilitet.

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

undefined

undefined betyr at en verdi ikke er tilordnet ennå. Variabler som er deklarert, men ikke initialisert, er undefined. Funksjonsargumenter som mangler, er undefined. Egenskaper som mangler 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 = mangler med hensikt. undefined = ikke tilordnet ennå. Som hovedregel: La motoren sette undefined, og bruk null uttrykkelig i din egen kode når du mener «tom».

typeof-operatoren

Bruk typeof til å undersøke typen til en verdi under kjøring. Den returnerer en streng: 'string', 'number', 'boolean', 'undefined', 'object', 'function', 'bigint', 'symbol'. Husk at typeof null === 'object' er en kjent feil.

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 — brukes som nøkkel for objektegenskaper som ikke skal kollidere. BigInt: heltall som er større enn Number.MAX_SAFE_INTEGER (2^53-1). Opprettes med 42n eller BigInt(42). Det trengs ikke i det meste av frontend-arbeid.

Fallgruver ved typekonvertering

JavaScript konverterer typer stille i sammenligninger og operasjoner. Bruk === (streng likhet) i stedet for == (løs likhet) for å unngå overraskelser på grunn av typekonvertering.

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

Typekonvertering

Konverter typer uttrykkelig med Number(), String(), Boolean() eller parseInt() / parseFloat(). Uttrykkelig konvertering er alltid tydeligere enn å stole på implisitt typekonvertering.

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

Hurtigsjekk

Hva returnerer typeof null i JavaScript?

Oppsummering: JavaScript-datatyper

Sju primitive typer: string, number, boolean, null, undefined, symbol og bigint. Bruk typeof til å undersøke typer. Bruk === i sammenligninger for å unngå typekonvertering. Skill mellom null (tom med hensikt) og undefined (ikke angitt ennå). Alle andre verdier er objekter.

Gratis å komme i gang

Lær deg HTML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
41
Leksjoner
163

Ofte stilte spørsmål

Er leksjonen «Datatyper: string, number, boolean, null og undefined» gratis?

Ja – hele teksten i «Datatyper: string, number, boolean, null og undefined» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Frontend Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Frontend Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Datatyper: string, number, boolean, null og undefined»?

Utforsk JavaScripts primitive typer, bruk typeof til å undersøke dem, og lær forskjellen mellom null og undefined. Du øver på Frontend Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Frontend Academy?

Ingen tidligere erfaring er nødvendig. Frontend Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Datatyper: string, number, boolean, null og undefined»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Frontend Academy-leksjonen?

Ja. Alle Frontend Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Variabler: let, const, var og scope
  2. Datatyper: string, number, boolean, null og undefined
  3. Funksjoner: deklarasjoner, uttrykk og arrow functions
  4. Kontrollflyt: if, else, switch, for og while
← Tilbake til Frontend Academy