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):

javascripttypeof parameter;
typeof(parameter);

Beispiel

Sehen wir uns an, wie typeof mit einer Zahl funktioniert:

javascripttypeof 1;

Als Ergebnis des ausgeführten Codes erhalten wir den Wert number:

javascript'number'

Beispiel

Geben wir nun eine Zeichenkette als Parameter an:

javascripttypeof 'str';

Ergebnis der Codeausführung:

javascript'string'

Beispiel

Geben wir nun den booleschen Wert true als Parameter an:

javascripttypeof true;

Ergebnis der Codeausführung:

javascript'boolean'

Beispiel

Sehen wir uns an, welchen Typ der Wert undefined hat:

javascripttypeof undefined;

Nach der Codeausführung erhalten wir ebenfalls undefined:

javascript'undefined'

Beispiel

Lassen Sie uns nun den Typ eines leeren Objekts ermitteln:

javascripttypeof {};

Ergebnis der Codeausführung:

javascript'object'

Beispiel

Lassen Sie uns nun den Typ eines leeren Arrays ermitteln:

javascripttypeof [];

Als Ergebnis erhalten wir ebenfalls 'object':

javascript'object'

Beispiel

Lassen Sie uns den Typ des Wertes null ermitteln:

javascripttypeof null;

Als Ergebnis erhalten wir ebenfalls 'object', was ein anerkannter Sprachfehler ist:

javascript'object'

Beispiel

Bestimmen wir nun den Typ einer leeren Funktion:

javascripttypeof function() {};

Nach der Codeausführung erhalten wir 'function', obwohl dieser Typ nicht existiert. Diese Zeichenkette dient der Bequemlichkeit des Benutzers beim Identifizieren einer Funktion:

javascript'function'

Beispiel

Schreiben wir eine Funktion, die nur Zahlen ausgibt:

javascriptfunction printNumber(number) {
  if (typeof number === 'number') {
    console.log(number);
  }
}

printNumber(2);
printNumber('str');
printNumber(3);

Siehe auch

  • die Funktion isNaN,
    die eine Prüfung auf NaN durchführt
  • die Funktion isFinite,
    die eine Zahl auf Endlichkeit prüft