Javascript

2. Datatyper

I JavaScript finns det två huvudgrupper av datatyper:


🔹 Primitiva datatyper

Dessa är immutabla (kan inte ändras direkt) och lagras som värden:

  1. string – text

    let namn = "Anna";
  2. number – alla tal (heltal, flyttal, NaN, Infinity)

    let ålder = 25;
    let pi = 3.14;
  3. bigint – för väldigt stora heltal

    let stortTal = 12345678901234567890n;
  4. boolean – sant/falskt

    let aktiv = true;
  5. undefined – värde saknas / ej tilldelad variabel

    let x; // undefined
  6. null – avsiktligt "inget värde"

    let tom = null;
  7. symbol – unika identifierare (ofta för objekt-keys)

    let id = Symbol("userId");

🔹 Icke-primitiva (referenstyper)

Dessa är objektbaserade, lagras som referenser i minnet:

  1. object – generella objekt/dictionaries

    let person = { name: "Eva", age: 30 };
  2. array – listor (är egentligen objekt)

    let frukter = ["äpple", "banan"];
  3. function – funktioner (är också objekt men körbara)

    function hej() { return "Hej!"; }
  4. 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-exempel

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:

  • Primitiva: string, number, bigint, boolean, undefined, null, symbol
  • Referenser (objektbaserade): object, array, function, samt specialtyper som Map, Set, Date