I JavaScript finns det två huvudgrupper av datatyper:
Dessa är immutabla (kan inte ändras direkt) och lagras som värden:
string – text
let namn = "Anna";
number – alla tal (heltal, flyttal, NaN, Infinity)
let ålder = 25;
let pi = 3.14;
bigint – för väldigt stora heltal
let stortTal = 12345678901234567890n;
boolean – sant/falskt
let aktiv = true;
undefined – värde saknas / ej tilldelad variabel
let x; // undefined
null – avsiktligt "inget värde"
let tom = null;
symbol – unika identifierare (ofta för objekt-keys)
let id = Symbol("userId");
Dessa är objektbaserade, lagras som referenser i minnet:
object – generella objekt/dictionaries
let person = { name: "Eva", age: 30 };
array – listor (är egentligen objekt)
let frukter = ["äpple", "banan"];
function – funktioner (är också objekt men körbara)
function hej() { return "Hej!"; }
Date, RegExp, Map, Set, WeakMap, WeakSet, Error – specialobjekt
let datum = new Date();
let regex = /abc/;
let map = new Map();
let set = new Set([1,2,3]);
typeof "hej" // "string"
typeof 123 // "number"
typeof 123n // "bigint"
typeof true // "boolean"
typeof undefined // "undefined"
typeof null // "object" (!! specialfall/bugg i JS)
typeof Symbol() // "symbol"
typeof {} // "object"
typeof [] // "object"
typeof function(){}// "function"
✅ Sammanfattning:
string, number, bigint, boolean, undefined, null, symbolobject, array, function, samt specialtyper som Map, Set, Date