Der JavaScript-Operatortyp gibt den Datentyp einer Variablen oder eines Ausdrucks zurück. Es handelt sich um einen unären Operator, der vor seinem Operanden steht und eine Zeichenfolge zurückgibt, die den Datentyp angibt, z. B. Zahl, Zeichenfolge, boolescher Wert, Objekt, undefiniert, Funktion oder Symbol. Es wird häufig verwendet, um die Art der verarbeiteten Daten dynamisch zu bestimmen und so die bedingte Logik und Typprüfung in JavaScript-Programmen zu erleichtern.
Syntax:
typeof operand // OR typeof (operand)>
Primitive Datentypen
Primitive Datentypen in JavaScript sind grundlegende Datentypen, die einzelne Werte darstellen. Sie beinhalten:
Datentyp | Beschreibung |
---|---|
Nummer | Stellt numerische Werte wie Ganzzahlen und Gleitkommazahlen dar. |
Zeichenfolge | Stellt Textdaten dar, die in einfache Anführungszeichen () oder doppelte Anführungszeichen () eingeschlossen sind. |
Boolescher Wert | Stellt wahre oder falsche Werte dar. |
Nicht definiert | Stellt eine Variable dar, die deklariert wurde, der jedoch kein Wert zugewiesen wurde. |
Null | Stellt das absichtliche Fehlen jeglichen Objektwerts dar. |
Symbol | Stellt einen eindeutigen und unveränderlichen Datentyp dar, der als Schlüssel für die Eigenschaft eines Objekts verwendet wird. |
BigInt | Stellt große ganze Zahlen dar, die über die Grenze des Zahlentyps hinausgehen. |
Beispiel 1: Das folgende Beispiel zeigt die Ergebnisse des Operators „typeof“ für prämitive Datentypen.
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'>
Ausgabe
number string boolean undefined object symbol bigint>
Beispiel 2: In diesem Beispiel wird „===“ (Vergleichsoperator für strenge Gleichheit) verwendet, der Wert und Typ vergleicht und dann „true“ oder „false“ zurückgibt.
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');>
Erläuterung: Im ersten console.log() beginnt der js mit der Kompilierung von links nach rechts und berechnet zunächst den Typ von 25, der „Zahl“ ist, vergleicht ihn dann mit „Zahl“ und gibt schließlich entsprechend true oder false zurück.
Ausgabe
true true true true true true true>
Beispiel 3: In diesem Beispiel wird der Funktionsdatentyp mithilfe des Operators „typeof“ verglichen.
Javascript // function console.log(typeof function () { } === 'function'); //classes too are objects console.log(typeof class C { } === 'function'); console.log(typeof Math.sin === 'function');>
Ausgabe
true true true>