JavaScript
Datatyper i JavaScript
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.
| Type | Hvad det er | Eksempel |
|---|---|---|
number | Et tal, med eller uden decimaler | 42, 3.14, -7 |
string | Tekst, i anførselstegn | "Ida", 'hej' |
boolean | Sandt eller falsk | true, false |
undefined | Der er ikke lagt en værdi i | undefined |
null | Der er lagt “ingenting” i med vilje | null |
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.
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.
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.
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 tallet12.String(12)giver teksten"12".parseInt("12.9")giver12. Den skærer decimalerne væk.Boolean(0)giverfalse. Alle tal undtagen 0 givertrue.
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:
undefinedbetyder “der er aldrig lagt noget her”. Det er sprogets egen udgangsværdi.nullbetyder “her er der bevidst ingenting”. Den skal du selv skrive.
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,undefinedognulldæ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.
typeofer det hurtigste svar, når en værdi opfører sig forkert.
Øv dig
Læs videre
- Variabler i JavaScript Hvad er en variabel i JavaScript? Kort forklaring på dansk med eksempler, du kan køre i browseren, og de fejl alle laver i starten.
- Sammenligninger og === Forskellen på == og === i JavaScript forklaret på dansk, med eksempler på de sammenligninger der giver overraskende svar, og hvordan du undgår dem.
- Hvorfor får jeg NaN? NaN i JavaScript forklaret på dansk. De fem årsager til at et regnestykke giver NaN, hvordan du finder den skyldige, og hvordan du undgår det.
Senest gennemgået .