Spring til indhold
Academi.dk

JavaScript

Datatyper i JavaScript

Begynder DA↔EN-ordliste 1 øvelse

En datatype er, hvilken slags værdi noget er: et tal, en tekst, sandt eller falsk. JavaScript vælger typen selv ud fra det, du skriver, og det er derfor tallet 5 og teksten "5" opfører sig helt forskelligt, selvom de ser ens ud på skærmen.

Forudsætter, at du har set variabler i javascript .

De typer, du møder i praksis

I det første semester kommer du i berøring med fem. De dækker næsten alt.

TypeHvad det erEksempel
numberEt tal, med eller uden decimaler42, 3.14, -7
stringTekst, i anførselstegn"Ida", 'hej'
booleanSandt eller falsktrue, false
undefinedDer er ikke lagt en værdi iundefined
nullDer er lagt “ingenting” i med viljenull

Du kan altid spørge, hvilken type en værdi har, med typeof. Det er en af de mest nyttige linjer, du kan skrive, når noget opfører sig underligt.

Eksempel
console.log(typeof 42);
console.log(typeof "42");
console.log(typeof true);
console.log(typeof undefined);

Output

Tryk på “Kør koden”.

Tallet 5 og teksten “5” er ikke det samme

Det her er det enkeltpunkt, der koster flest timer i starten. Anførselstegnene er ikke pynt. De afgør, hvad + betyder.

Eksempel
console.log(5 + 5);
console.log("5" + 5);
console.log("5" - 5);

Output

Tryk på “Kør koden”.

Første linje lægger sammen: 10. Anden linje sætter tekst sammen, fordi den ene side er tekst. Resultatet er teksten "55". Tredje linje giver 0, fordi minus ikke betyder noget for tekst, så JavaScript laver teksten om til et tal først.

At sproget selv skifter typen kaldes type coercion, og det er både grunden til, at JavaScript er let at komme i gang med, og grunden til, at det giver overraskelser.

Eksempel
const fraFelt = "12";

console.log(fraFelt + 3);
console.log(Number(fraFelt) + 3);

Output

Tryk på “Kør koden”.

Sådan skifter du type med vilje

  • Number("12") giver tallet 12.
  • String(12) giver teksten "12".
  • parseInt("12.9") giver 12. Den skærer decimalerne væk.
  • Boolean(0) giver false. Alle tal undtagen 0 giver true.

Går det galt at lave noget om til et tal, får du NaN, som betyder not a number. Den værdi smitter: regner du videre med den, bliver alt bagefter også NaN. Se hvorfor du får NaN.

undefined og null

De to ligner hinanden, men betyder noget forskelligt, og det spørgsmål kan godt falde til eksamen:

  • undefined betyder “der er aldrig lagt noget her”. Det er sprogets egen udgangsværdi.
  • null betyder “her er der bevidst ingenting”. Den skal du selv skrive.
Eksempel
let a;
const b = null;

console.log(a);
console.log(b);
console.log(typeof a);
console.log(typeof b);

Output

Tryk på “Kør koden”.

At typeof null giver "object" er en gammel fejl i sproget, som aldrig blev rettet, fordi det ville ødelægge for meget kode. Du skal ikke forstå den. Bare vide, at den er der.

Kort opsamling

  • number, string, boolean, undefined og null dækker første semester.
  • Anførselstegn gør en værdi til tekst, og + betyder så “sæt sammen”.
  • Alt, der kommer fra brugeren, er tekst, indtil du selv laver det om.
  • typeof er det hurtigste svar, når en værdi opfører sig forkert.

Øv dig

Læs videre

Næste skridt Videre til sammenligninger - hvorfor === er sikrere end ==

Senest gennemgået .