Es gibt einen Operator in js, der uns helfen kann, den Typ eines Werts zu bestimmen, nämlich den Typ des Operators. In diesem Artikel werde ich mit Ihnen teilen, wie Sie den Typ eines Werts in JavaScript bestimmen. Freunde, die ihn benötigen, können darauf verweisen.
Wir wissen, dass es in js einen Operator gibt, der uns bei der Bestimmung des Typs helfen kann eines Werts. Es ist der Typ des Operators.
console.log(typeof 123); //number console.log(typeof '123'); //string console.log(typeof true); //boolean console.log(typeof undefined); //undefined console.log(typeof null); //object console.log(typeof []); //object console.log(typeof {}); //object console.log(typeof function() {}); //function
Anhand der obigen Ergebnisse können wir die Mängel von typeof erkennen. Es gibt Zahlen, Zeichenfolgen und boolesche Werte für numerische Werte, Zeichenfolgen bzw. boolesche Werte zurück . Die Funktion gibt Funktion zurück, undefiniert gibt undefiniert zurück, andernfalls wird Objekt zurückgegeben.
Wenn der Rückgabewert also ein Objekt ist, können wir nicht wissen, ob der Typ des Werts ein Array, ein Objekt oder andere Werte ist. Um den Typ jedes Werts genau zu ermitteln, müssen wir in js einen anderen Operator „instanceof“ verwenden. Lassen Sie uns kurz über die Verwendung von „instanceof“ sprechen.
Der Instanzoperator gibt einen booleschen Wert zurück, der angibt, ob das angegebene Objekt eine Instanz eines bestimmten Konstruktors ist.
Die linke Seite des Instanzoperators ist das Instanzobjekt und die rechte Seite ist der Konstruktor. Es prüft, ob sich das ptototype-Attribut des rechten Konstruktors in der Prototypenkette des linken Objekts befindet.
var b = []; b instanceof Array //true b instanceof Object //true
Beachten Sie, dass der Instanzoperator nur für Objekte verwendet werden kann, nicht für Werte primitiver Typen.
So können wir die Merkmale der Operatoren „typeof“ und „instanceof“ kombinieren, um eine genauere Beurteilung des Typs eines Werts zu treffen.
//得到一个值的类型 function getValueType(value) { var type = ''; if (typeof value != 'object') { type = typeof value; } else { if (value instanceof Array) { type = 'array'; } else { if (value instanceof Object) { type = 'object'; } else { type = 'null'; } } } return type; } getValueType(123); //number getValueType('123'); //string getValueType(true); //boolean getValueType(undefined); //undefined getValueType(null); //null getValueType([]); //array getValueType({}); //object getValueType(function(){}); //function
Das obige ist der detaillierte Inhalt vonSo bestimmen Sie den Werttyp in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!