JavaScript-Datentypen: Typ der Erklärung

typeofist ein JavaScript-Schlüsselwort, das beim Aufrufen den Typ einer Variablen zurückgibt. Hiermit können Sie Funktionsparameter validieren oder prüfen, ob Variablen definiert sind. Es gibt auch andere Verwendungszwecke.

Der typeofOperator ist nützlich, da Sie auf einfache Weise den Typ einer Variablen in Ihrem Code überprüfen können. Dies ist wichtig, da JavaScript eine dynamisch typisierte Sprache ist. Dies bedeutet, dass Sie Variablen beim Erstellen keine Typen zuweisen müssen. Da eine Variable auf diese Weise nicht eingeschränkt ist, kann sich ihr Typ zur Laufzeit eines Programms ändern.

Zum Beispiel:

var x = 12345; // number x = 'string'; // string x = { key: 'value' }; // object

Wie Sie dem obigen Beispiel entnehmen können, kann eine Variable in JavaScript während der Ausführung eines Programms den Typ ändern. Dies kann als Programmierer schwierig zu verfolgen sein, und hier ist der typeofBediener nützlich.

Der typeofOperator gibt eine Zeichenfolge zurück, die den aktuellen Typ einer Variablen darstellt. Sie verwenden es, indem Sie typeof(variable)oder eingeben typeof variable. Wenn Sie zum vorherigen Beispiel zurückkehren, können Sie damit den Typ der Variablen xin jeder Phase überprüfen :

var x = 12345; console.log(typeof x) // number x = 'string'; console.log(typeof x) // string x = { key: 'value' }; console.log(typeof x) // object

Dies kann nützlich sein, um den Typ einer Variablen in einer Funktion zu überprüfen und gegebenenfalls fortzufahren.

Hier ist ein Beispiel für eine Funktion, die eine Variable annehmen kann, die eine Zeichenfolge oder eine Zahl ist:

function doSomething(x) { if(typeof(x) === 'string') { alert('x is a string') } else if(typeof(x) === 'number') { alert('x is a number') } }

Eine andere Möglichkeit, wie der typeofOperator nützlich sein kann, besteht darin, sicherzustellen, dass eine Variable definiert ist, bevor Sie versuchen, in Ihrem Code darauf zuzugreifen. Dies kann dazu beitragen, Fehler in einem Programm zu vermeiden, die auftreten können, wenn Sie versuchen, auf eine nicht definierte Variable zuzugreifen.

function(x){ if (typeof(x) === 'undefined') { console.log('variable x is not defined'); return; } // continue with function here... }

Die Ausgabe des typeofOperators entspricht möglicherweise nicht immer Ihren Erwartungen, wenn Sie nach einer Zahl suchen.

Zahlen können aus mehreren Gründen den Wert NaN (Not A Number) annehmen.

console.log(typeof NaN); //"number"

Vielleicht haben Sie versucht, eine Zahl mit einem Objekt zu multiplizieren, weil Sie vergessen haben, auf die Zahl im Objekt zuzugreifen.

var x = 1; var y = { number: 2 }; console.log(x * y); // NaN console.log(typeof (x * y)); // number

Bei der Suche nach einer Nummer reicht es nicht aus, die Ausgabe typeofeiner Nummer zu überprüfen , da NaNauch

besteht diesen Test.

Diese Funktion prüft auf Zahlen und lässt den NaNWert auch nicht passieren.

function isNumber(data) { return (typeof data === 'number' && !isNan(data)); }

Obwohl dies eine nützliche Validierungsmethode ist, müssen wir vorsichtig sein, da Javascript einige seltsame Teile enthält und einer davon das Ergebnis typeofübermäßiger Anweisungen ist. Zum Beispiel sind in Javascript viele Dinge nur objectsso, dass Sie sie finden werden.

var x = [1,2,3,4]; console.log(typeof x) // object console.log(typeof null) // object

Mehr Informationen:

MDN-Dokumentation für Typ