Datatyper: string, number, boolean, null och undefined
Utforska JavaScripts primitiva typer, använd typeof för att granska dem och lär er skillnaden mellan null och undefined.
Datatyper: string, number, boolean, null och undefined är en gratis lektion i Frontend Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Frontend Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Frontend Academy innehåller totalt 4 lektioner.
JavaScripts typsystem
JavaScript är dynamiskt typat — det är värdena, inte variablerna, som har typer. Samma variabel kan först innehålla en sträng, sedan ett tal och därefter null. Om du förstår de sju primitiva typerna förebygger du en stor kategori buggar.
string
Strängar representerar text. Använd enkla citattecken, dubbla citattecken eller backticks (mallitteraler). Strängar är oföränderliga — strängmetoder returnerar nya strängar. Strängar har egenskapen .length och många inbyggda 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 en enda numerisk typ. Alla tal — heltal och decimaltal — är 64-bitars flyttal enligt IEEE 754. Därför är 0.1 + 0.2 !== 0.3. Speciella värden är Infinity, -Infinity och 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
Booleanska värden är true eller false. De används i villkor och jämförelser. Alla värden i JavaScript har en inneboende sanningshalt: falsy-värden är false, 0, '', null, undefined och NaN. Alla andra värden är truthy.
const isActive = true;
const isAdmin = false;
// Falsy values:
if (0) { /* never runs */ }
if ('') { /* never runs */ }
if (null) { /* never runs */ }null
null är ett uttryckligen tilldelat tomt värde. Det betyder ”inget värde avsiktligt”. Använd null när du vill tömma en variabel eller signalera att något saknas. typeof null === 'object' är en välkänd bugg i JavaScript som har behållits av kompatibilitetsskäl.
let selectedUser = null; // no user selected yet
selectedUser = { name: 'Alice' };
selectedUser = null; // clearedundefined
undefined betyder att ett värde ännu inte har tilldelats. Variabler som har deklarerats men inte initierats är undefined. Funktionsargument som saknas är undefined. Objektegenskaper som saknas returnerar undefined.
let x; // undefined
function greet(name) {
console.log(name); // undefined if called as greet()
}
const obj = {};
console.log(obj.foo); // undefinednull jämfört med undefined
null = avsiktligt frånvarande. undefined = ännu inte tilldelat. Som tumregel: låt motorn sätta undefined och använd null uttryckligen i din egen kod när du menar ”tomt”.
Operatorn typeof
Använd typeof för att undersöka typen hos ett värde under körning. Den returnerar en sträng: 'string', 'number', 'boolean', 'undefined', 'object', 'function', 'bigint', 'symbol'. Kom ihåg att typeof null === 'object' är en känd bugg.
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 och BigInt
Symbol: en unik, oföränderlig identifierare som används för objektegenskapsnycklar som inte ska krocka. BigInt: heltal som är större än Number.MAX_SAFE_INTEGER (2^53-1). Skapas med 42n eller BigInt(42). Behövs inte i de flesta frontendprojekt.
Fallgropar med typomvandling
JavaScript omvandlar tyst typer vid jämförelser och operationer. Använd === (strikt likhet) i stället för == (lös likhet) för att undvika överraskningar vid typomvandling.
0 == false // true (coercion)
0 === false // false (strict, no coercion)
'' == false // true
'5' == 5 // true
'5' === 5 // false ✓ use thisTypomvandling
Omvandla typer uttryckligen med Number(), String(), Boolean() eller parseInt() / parseFloat(). En uttrycklig omvandling är alltid tydligare än att förlita sig på automatisk typomvandling.
Number('42') // 42
Number('') // 0
Number('abc') // NaN
String(42) // '42'
Boolean(0) // false
Boolean('hello') // true
parseInt('10px') // 10Snabbkontroll
Vad returnerar typeof null i JavaScript?
Sammanfattning: JavaScripts datatyper
Sju primitiva typer: string, number, boolean, null, undefined, symbol och bigint. Använd typeof för att undersöka typer. Använd === vid jämförelser för att undvika typomvandling. Skilj på null (avsiktligt tomt) och undefined (ännu inte tilldelat). Alla andra värden är objekt.
Lär dig HTML med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 41
- Lektioner
- 163
Vanliga frågor
Är lektionen ”Datatyper: string, number, boolean, null och undefined” gratis?
Ja – hela texten till ”Datatyper: string, number, boolean, null och undefined” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Frontend Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Frontend Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Datatyper: string, number, boolean, null och undefined”?
Utforska JavaScripts primitiva typer, använd typeof för att granska dem och lär er skillnaden mellan null och undefined. Ni övar på Frontend Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Frontend Academy?
Du behöver inga förkunskaper. Utbildningen i Frontend Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Datatyper: string, number, boolean, null och undefined”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Frontend Academy-lektionen?
Ja. Varje Frontend Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Variabler: let, const, var och räckvidd
- Datatyper: string, number, boolean, null och undefined
- Funktioner: deklarationer, uttryck och arrow functions
- Styrflöde: if, else, switch, for och while