Det JavaScript type operatør returnerer datatypen for en variabel eller et udtryk. Det er en unær operator placeret før dens operand og returnerer en streng, der angiver datatypen, såsom tal, streng, boolean, objekt, udefineret, funktion eller symbol. Det bruges almindeligvis til dynamisk at bestemme typen af data, der behandles, hvilket letter betinget logik og typekontrol i JavaScript-programmer.
Syntaks:
typeof operand // OR typeof (operand)>
Primitive datatyper
Primitive datatyper i JavaScript er grundlæggende datatyper, der repræsenterer enkelte værdier. De omfatter:
Datatype | Beskrivelse |
---|---|
Nummer | Repræsenterer numeriske værdier som heltal og flydende kommatal. |
Snor | Repræsenterer tekstdata omsluttet af enkelte anførselstegn () eller dobbelte anførselstegn (). |
Boolean | Repræsenterer sande eller falske værdier. |
Udefineret | Repræsenterer en variabel, der er blevet erklæret, men som ikke er blevet tildelt en værdi. |
Nul | Repræsenterer det bevidste fravær af en objektværdi. |
Symbol | Repræsenterer en unik og uforanderlig datatype, der bruges som nøglen til et objekts egenskab. |
BigInt | Repræsenterer store heltal ud over grænsen for taltypen. |
Eksempel 1: Nedenstående eksempel viser resultaterne af typeoperator for præmitive datatyper.
Javascript // Define variables with different primitive data types const num = 10; const str = 'Hello'; const bool = true; const undef = undefined; const nul = null; const sym = Symbol('symbol'); const bigInt = 9007199254740991n; // Use typeof operator to determine the data type console.log(typeof num); // Output: 'number' console.log(typeof str); // Output: 'string' console.log(typeof bool); // Output: 'boolean' console.log(typeof undef); // Output: 'undefined' console.log(typeof nul); // Output: 'object' (typeof null is an oddity, // it returns 'object') console.log(typeof sym); // Output: 'symbol' console.log(typeof bigInt);// Output: 'bigint'>
Produktion
number string boolean undefined object symbol bigint>
Eksempel 2: Dette eksempel bruger '===' (operator for streng lighedssammenligning), som sammenligner værdi og type begge og derefter returnerer sand eller falsk.
javascript
//Number console.log(typeof 25 === 'number'); console.log(typeof 3.14 === 'number'); console.log(typeof (69) === 'number'); // log base 10 console.log(typeof Math.LN10 === 'number'); console.log(typeof Infinity === 'number'); // Despite being 'Not-A-Number' console.log(typeof NaN === 'number'); // Wrapping in Number() function console.log(typeof Number('100') === 'number');>
Forklaring: I den første console.log() begynder js at kompilere fra venstre mod højre, og den beregner først typen af 25, som er 'tal', og sammenligner den derefter med 'tal' og returnerer derefter sand eller falsk i overensstemmelse hermed.
Produktion
true true true true true true true>
Eksempel 3: Dette eksempel sammenligner funktionsdatatypen ved at bruge typen af operator.
javascript // function console.log(typeof function () { } === 'function'); //classes too are objects console.log(typeof class C { } === 'function'); console.log(typeof Math.sin === 'function');>
Produktion
true true true>