Heim  >  Artikel  >  Web-Frontend  >  Welche Datentypen kann der JavaScript-Typ zurückgeben?

Welche Datentypen kann der JavaScript-Typ zurückgeben?

青灯夜游
青灯夜游Original
2021-12-08 16:58:3512858Durchsuche

In JavaScript sind die Datentypen, die der Operator „typeof“ zurückgeben kann: „undefiniert“, „Objekt“, „Boolescher Wert“, „Zahl“, „Zeichenfolge“, „Symbol“, „Funktion“ usw.

Welche Datentypen kann der JavaScript-Typ zurückgeben?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Verwenden Sie den typeof-Operator, um den Datentyp der Variablen zurückzugeben.

Werfen wir einen Blick auf den Wert von typeof, der jedem Datentyp entspricht:

"Objekt" Boolean "boolean"numerischer Wert"number"string"string"Symbol (neu in ECMAScript. 6) „Symbol“ Host-Objekt (Bereitgestellt von der JS-Umgebung, z. B. dem Browser)ImplementierungsabhängigFunktionsobjekt"Funktion"jedes andere Objekt"Objekt"Sehen Sie sich das an Konkrete Beispiele:
// Numbers
typeof 37 === 'number';
typeof 3.14 === 'number';
typeof Math.LN2 === 'number';
typeof Infinity === 'number';
typeof NaN === 'number'; // 尽管NaN是"Not-A-Number"的缩写,意思是"不是一个数字"
typeof Number(1) === 'number'; // 不要这样使用!

// Strings
typeof "" === 'string';
typeof "bla" === 'string';
typeof (typeof 1) === 'string'; // typeof返回的肯定是一个字符串
typeof String("abc") === 'string'; // 不要这样使用!

// Booleans
typeof true === 'boolean';
typeof false === 'boolean';
typeof Boolean(true) === 'boolean'; // 不要这样使用!

// Symbols
typeof Symbol() === 'symbol';
typeof Symbol('foo') === 'symbol';
typeof Symbol.iterator === 'symbol';

// Undefined
typeof undefined === 'undefined';
typeof blabla === 'undefined'; // 一个未定义的变量,或者一个定义了却未赋初值的变量

// Objects
typeof {a:1} === 'object';

// 使用Array.isArray或者Object.prototype.toString.call方法可以从基本的对象中区分出数组类型
typeof [1, 2, 4] === 'object';

typeof new Date() === 'object';

// 下面的容易令人迷惑,不要这样使用!
typeof new Boolean(true) === 'object';
typeof new Number(1) ==== 'object';
typeof new String("abc") === 'object';

// 函数
typeof function(){} === 'function';
typeof Math.sin === 'function';
Object.prototype.toString verwenden, um den Datentyp weiter zu bestimmen. data
Datentyp
Wir werden ein Problem finden, das heißt, typeof ist nicht genau, um den Datentyp zu bestimmen. Beispielsweise ist der Rückgabewerttyp von Arrays, regulären Ausdrücken, Datumsangaben und Objekten ausschließlich ein Objekt, was zu einigen Fehlern führen kann. Auf der Grundlage der Typbestimmung müssen wir also auch die Methode
Werfen wir einen Blick auf den Unterschied zwischen den Rückgabewerten der toString-Methode und der typeof-Methode bei demselben Datentyp:

toString

typeof

"foo"

String stringnew String("foo")Stringobjectnew. Number(1.2)Numberobjectwahr Booleanboolean new Boolean (true)Booleanobjectnew Date()Dateobjectnew. Error()FehlerObjektneues Array(1, 2, 3) ArrayObjekt/abc/gRegExpObjektneu. RegExp("meow")RegExpObjekt 【Verwandte Empfehlungen: Javascript-Lern-Tutorial】
Sie können sehen, dass mit der toString-Methode korrekt zwischen Array, Error, RegExp, Date und anderen Typen unterschieden werden kann. Daher verwenden wir im Allgemeinen diese Methode, um den Datentyp zu überprüfen.

Das obige ist der detaillierte Inhalt vonWelche Datentypen kann der JavaScript-Typ zurückgeben?. 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