Typ einer Variablen in JavaScript abrufen

Nithin Krishnan 12 Oktober 2023
  1. Verwenden des Operators typeof zum Ermitteln des Variablentyps
  2. Verwendung des Operators typeof in bedingten Prüfungen
  3. Notiz:
Typ einer Variablen in JavaScript abrufen

Im Vergleich zu anderen Programmiersprachen wie C, Java usw. gibt JavaScript Entwicklern die Freiheit, Variablen jeden Typs mit einem einzigen Schlüsselwort (dem Schlüsselwort var) zu definieren. JavaScript wiederum bestimmt später den Datentyp der Variablen in Abhängigkeit von den diesen Variablen zugewiesenen Werten. Es ist scheinbar einfach, den Datentyp einer Variablen zu bestimmen. Aber einige Szenarien können uns in eine Lösung bringen. Insbesondere bei Werten, die von der REST-API-Antwort des Servers zurückgegeben werden, müssen wir möglicherweise den Typ des Werts oder der Variablen kennen, bevor wir weiteren Code zur Verarbeitung verwenden.

Verwenden des Operators typeof zum Ermitteln des Variablentyps

typeof ist ein unärer Operator in Javascript, der den Typ eines Operanden zurückgibt, auf den er angewendet wird. Es gibt normalerweise den Variablentyp als String-Objekt zurück. Es gibt Standard-Rückgabetypen für den typeof-Operator in Javascript.

  • string: typeof gibt string für einen Variablentyp string zurück.
  • number: Gibt number für eine Variable zurück, die einen Integer- oder Gleitkommawert enthält.
  • boolean: Für eine Variable mit true oder false Werten gibt typeof boolean zurück.
  • undefined: Falls wir einer Variablen keine Werte zuweisen, wird der Typ der Variablen von JavaScript als undefined markiert. Daher gibt der Operand typeof für solche nicht deklarierten Variablen undefined zurück.
  • object: Für Variablen, die ein Array oder ein Objekt in {} enthalten, oder Variablen, denen der Wert null zugewiesen ist, betrachtet Javascript den Typ solcher Variablen als Objekt. Daher gibt der Operand typeof object zurück.
  • function: JavaScript ermöglicht es uns, einer Variablen Funktionen zuzuweisen. In solchen Fällen ist der Typ solcher Variablen Funktion. Der Operator typeof gibt function für eine Funktionszuweisung zurück.

Der folgende Codeausschnitt demonstriert das Verhalten des Operators typeof für verschiedene Variablenzuweisungen und verschiedene Szenarien.

var s1 = 'hello';
var n1 = 120;
var n1 = 11.1234;
var b1 = true;
var x;
var u = undefined;
var o1 = null;
var o2 = {id: 1, value: 200};
var o3 = [1, 2, 3];
var f = function() {
  return 1 + 2
};

console.log(typeof s1);
console.log(typeof n1);
console.log(typeof n1);
console.log(typeof b1);
console.log(typeof x);
console.log(typeof u);
console.log(typeof o1);
console.log(typeof o2);
console.log(typeof o3);
console.log(typeof f);

Ausgabe:

"string"
"number"
"number"
"boolean"
"undefined"
"undefined"
"object"
"object"
"object"
"function"

Verwendung des Operators typeof in bedingten Prüfungen

Wir können den Operator typeof in Bedingungsprüfungen wie im if-Block verwenden, indem wir den vom Operator zurückgegebenen Wert überprüfen und mit den Standardtypwerten vergleichen. Wir verwenden den Operator === zum Vergleich, da er Typprüfungen der Operanden an beiden Enden des Operators beinhaltet.

var a = 'hello';
if (typeof a === 'string') {
  console.log(true)
}

Ausgabe:

true

Ebenso können wir bedingte Prüfungen für Zahl, boolean, Objekt und sogar für Funktion durchführen. Als Best Practice sollten wir eine konstante Variable für die Standarddatentypen erstellen, die vom Javascript-Operator typeof zurückgegeben werden. Vergleichen Sie dann den typeof einer Variablen mit den deklarierten Konstanten. Dieser Ansatz erleichtert das Programmieren und reduziert Tippfehler beim Schreiben der Bedingungsblöcke, die normalerweise nicht auf einen Blick fallen. Lesen Sie den folgenden Code zum besseren Verständnis.

const STRING_TYPE = 'string';
const NUMBER_TYPE = 'number';
var a = 'hello';
var b = 123;
if (typeof a === STRING_TYPE) {
  console.log(true)
}
if (typeof b === NUMBER_TYPE) {
  console.log(true)
}

Ausgabe:

true
true

Notiz:

  • In Fällen, in denen eine Variable mit einem new Schlüsselwort zugewiesen wurde, betrachtet Javascript eine solche Zuweisung als Objekt. Daher gibt der Operator typeof für solche Zuweisungen object zurück. Siehe den folgenden Code.
var s = new String('hello');
var n = new Number(100);
console.log(typeof s);
console.log(typeof n);

Ausgabe:

object
object
  • Wenn wir eine Funktion mit dem Schlüsselwort new zuweisen, dann wird der Datentyp solcher Variablen von Javascript als Funktion übernommen. Die Variable typeof mit new function() wird als function anstelle von object zurückgegeben. Schauen wir uns den folgenden Code an.
var fn = new Function();

Ausgabe:

"function"
  • Alle Browser unterstützen den Javascript-Operator typeof, auch die alten Versionen des Internet Explorers. Somit können wir den Operator bedenkenlos in einem auf mehreren Browsern unterstützten Projekt verwenden.

Verwandter Artikel - JavaScript Variable