Datatyper i JavaScript
Denne artikkelen forklarer datatyper i JavaScript.
YouTube Video
Datatyper i JavaScript
JavaScript har datatyper for å klassifisere verdier, som grovt sett kan deles inn i primitivtyper og objekttyper. Datatyper bestemmer hvilken type data som lagres i en variabel og påvirker hvordan den kan manipuleres.
Primitive typer
Primitivtyper er enkle datatyper som representerer en enkelt verdi. JavaScript har følgende 7 primitivtyper.
number
1let num = 42;
2let pi = 3.14;
3
4console.log("Value of num:", num);
5console.log("Value of pi:", pi);numberer en type som brukes til å håndtere numeriske verdier, inkludert heltall og flyttall (desimaler). Håndtering av verdier som overstiger visse grenser resulterer iInfinityellerNaN(ikke-et-tall).
1// Decimal calculations
2console.log(0.1 + 0.2 === 0.3); // false
3console.log(0.1 + 0.2); // 0.30000000000000004
4
5// Calculations with large numbers
6console.log(9007199254740991 + 1); // correct value
7console.log(9007199254740991 + 2); // incorrect value
- I JavaScript er tall representert som flyttall. Som et resultat kan visse desimaltall (spesielt de som ikke kan representeres nøyaktig i binær) ikke uttrykkes nøyaktig.
- Når presise beregninger kreves, som for pengebeløp, er det nødvendig å unngå slike avrundingsfeil. For eksempel kan du bruke
BigInteller justere antall desimaler medtoFixed().
string
1let greeting = "Hello, world!";
2let char = 'A';
3const message = `"${greeting}" in JavaScript`;
4
5console.log("Value of greeting:", greeting);
6console.log("Value of char:", char);
7console.log("Value of message:", message);stringer en datatype som brukes til å håndtere tekst og representerer en serie med tegn. Den representeres ved å omslutte tekst med enkeltfnutter (') eller doble anførselstegn ("). Fra og med ES6 tillater maluttrykk enkel innbygging av variabler ved bruk av tilbakevendte aksenter (``). For å bygge inn en variabel, bruk${}`-syntaksen.
boolean
1let isAvailable = true;
2let hasError = false;
3
4console.log("Value of isAvailable:", isAvailable);
5console.log("Value of hasError:", hasError);booleanrepresenterer en logisk verdi og kan bare ha to verdier:trueellerfalse. Den brukes som resultatet av betingede uttrykk eller som en flaggvariabel.
null
1let result = null;
2
3console.log("Value of result:", result);nuller en datatype som eksplisitt indikerer 'ingen verdi.'.nullsettes av utviklere for å indikere en tilsiktet tomhet.
undefined
1let score;
2let subject = undefined;
3
4console.log("Value of score:", score); // undefined
5console.log("Value of subject:", subject);undefineder en datatype som betyr 'udefinert.'.undefinedtildeles automatisk når en variabel erklæres, men ikke tildeles en verdi.
bigint
1let bigIntValue = 9007199254740991n;
2let anotherBigInt = 123456789012345678901234567890n;
3
4console.log("Value of bigIntValue:", bigIntValue);
5console.log("Value of anotherBigInt:", anotherBigInt);biginter en datatyp for å håndtere store heltall.biginttillater nøyaktig representasjon av store heltall som ikke kan representeres avnumber-typen.bigint-litteraler representeres ved å legge tilnpå slutten av et tall.biginter en type for håndtering av heltall i vilkårlig størrelse, uten grensebegrensninger. Menbigintognumberkan ikke opereres sammen direkte, så forsiktighet er nødvendig.
Symbol
1let sym1 = Symbol('id');
2let sym2 = Symbol('id');
3
4console.log("sym1 === sym2:", sym1 === sym2); // false
Symboler en datatype som brukes til å lage unike identifikatorer. Den opprettes ved hjelp avSymbol()og kan brukes som en egenskap til et objekt. I motsetning til andre primitive typer harSymbolunike verdier, så selv med samme innhold behandles det som en annenSymbol.
Objekttyper
Objekttyper er datastrukturer som kan lagre flere verdier. Et objekt er en samling av nøkkel-verdi-par og kan ha egenskaper og metoder.
Object
1let person = {
2 name: "John",
3 age: 30,
4 isEmployee: true
5};
6console.log(person.name); // John
Objecter en samling av egenskaper (nøkkel-verdi-par) som kan lagre ulike typer data. Objekter representeres av krøllparenteser{}, og hver egenskap er koblet sammen med:mellom nøkkelen og verdien.
Array
1let numbers = [10, 20, 30];
2console.log(numbers[0]); // 10
3console.log(numbers[1]); // 20
4console.log(numbers[2]); // 30
5console.log(numbers[3]); // undefined
Arrayer en liste som holder flere verdier i en ordnet rekkefølge. Lister representeres av firkantparenteser[], og verdier skilles med kommaer,. Hvert element kan nås ved hjelp av en indeks som starter på 0.
Function
1function greet(name) {
2 return "Hello, " + name;
3}
4console.log(greet("Alice")); // Hello, Alice
- Funksjoner er en type objekt og gjenbrukbare kodeblokker. Funksjoner kan defineres med nøkkelordet
function.
Andre Objekttyper
- JavaScript har også innebygde objekttyper som
Date,RegExp,MapogSet. Disse håndterer data i henhold til spesifikke brukstilfeller.
Typekonvertering
Implisitte og eksplisitte typekonverteringer utføres ofte i JavaScript.
Implisitt Typekonvertering
- JavaScript kan automatisk konvertere typer når den utfører operasjoner mellom forskjellige typer.
1let result = 5 + "5"; // "55" (the number is converted to a string)
2
3console.log(result);- I dette eksempelet blir tallet
5implisitt konvertert til en streng, noe som resulterer i strengen"55".
Eksplisitt Typekonvertering
- Utviklere kan også utføre typekonverteringer eksplisitt.
1let num = "123";
2let convertedNum = Number(num); // Converts "123" to the number 123
3
4console.log(typeof num);
5console.log(typeof convertedNum);- I dette eksempelet brukes
Number()-funksjonen til å eksplisitt konvertere strengen"123"til tallet123.
Typekontroll
I JavaScript kan du bruke typeof-operatoren for å sjekke datatypen til en variabel.
1// Output: The type of 42 is: number
2console.log('The type of 42 is:', typeof 42);
3
4// Output: The type of 42 is: bigint
5console.log('The type of 42n is:', typeof 42n);
6
7// Output: The type of "hello" is: string
8console.log('The type of "hello" is:', typeof "hello");
9
10// Output: The type of true is: boolean
11console.log('The type of true is:', typeof true);
12
13// Output: The type of undefined is: undefined
14console.log('The type of undefined is:', typeof undefined);
15
16// Output: The type of null is: object
17console.log('The type of null is:', typeof null);
18
19// Output: The type of Symbol() is: symbol
20console.log('The type of Symbol() is:', typeof Symbol());
21
22// Output: The type of {} is: object
23console.log('The type of {} is:', typeof {});
24
25// Output: The type of function () {} is: function
26console.log('The type of function () {} is:', typeof function () {});Konklusjon
- Primitive typer inkluderer
number,string,boolean,null,undefinedogsymbol. - Objekttyper inkluderer
Object,Array,Functionblant andre. - Siden både automatiske og eksplisitte typekonverteringer skjer, er det viktig å forstå riktig bruk av datatyper.
Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.