Heim  >  Artikel  >  Web-Frontend  >  So bestimmen Sie den Werttyp in JavaScript

So bestimmen Sie den Werttyp in JavaScript

巴扎黑
巴扎黑Original
2017-09-16 09:29:391600Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn