Der typeof-Operator
Der Operator typeof ermöglicht es,
den Typ eines Parameters (Zahl, Zeichenkette, Objekt) zu bestimmen. Der Operator
gibt eine Zeichenkette zurück, die den Typ enthält ('number',
'string', 'object').
Für null
gibt der Operator 'object' zurück (dies ist
ein anerkannter Sprachfehler). Für Funktionen gibt der Operator
'function' zurück. Dies wurde
aus Bequemlichkeit so implementiert, obwohl der Typ 'function'
eigentlich nicht existiert.
Syntax
Der Operator typeof hat 2 Syntaxformen
(beide Syntaxformen funktionieren gleich):
typeof parameter;
typeof(parameter);
Beispiel
Sehen wir uns an, wie typeof mit
einer Zahl funktioniert:
typeof 1;
Als Ergebnis des ausgeführten Codes
erhalten wir den Wert number:
'number'
Beispiel
Geben wir nun eine Zeichenkette als Parameter an:
typeof 'str';
Ergebnis der Codeausführung:
'string'
Beispiel
Geben wir nun den booleschen
Wert true als Parameter an:
typeof true;
Ergebnis der Codeausführung:
'boolean'
Beispiel
Sehen wir uns an, welchen Typ
der Wert undefined hat:
typeof undefined;
Nach der Codeausführung
erhalten wir ebenfalls undefined:
'undefined'
Beispiel
Lassen Sie uns nun den Typ eines leeren Objekts ermitteln:
typeof {};
Ergebnis der Codeausführung:
'object'
Beispiel
Lassen Sie uns nun den Typ eines leeren Arrays ermitteln:
typeof [];
Als Ergebnis erhalten wir ebenfalls
'object':
'object'
Beispiel
Lassen Sie uns den Typ
des Wertes null ermitteln:
typeof null;
Als Ergebnis erhalten wir ebenfalls
'object', was ein
anerkannter Sprachfehler ist:
'object'
Beispiel
Bestimmen wir nun den Typ einer leeren Funktion:
typeof function() {};
Nach der Codeausführung erhalten wir
'function',
obwohl dieser Typ
nicht existiert. Diese Zeichenkette
dient der Bequemlichkeit des Benutzers
beim Identifizieren einer Funktion:
'function'
Beispiel
Schreiben wir eine Funktion, die nur Zahlen ausgibt:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);