BaseDer TypeOf-Operator ist ein grundlegender Wissenspunkt in JavaScript. Obwohl er bestimmte Einschränkungen aufweist (siehe unten), ist er im tatsächlichen Codierungsprozess von Front-End-JS immer noch die am häufigsten verwendete Methode zur Typbeurteilung. Daher ist die Beherrschung der Eigenschaften dieses Operators beim Schreiben guten Codes eine große Hilfe. typeof gibt eine Zeichenfolge zurück, die den Datentyp des Operationswerts angibt. Die grundlegende Syntax lautet: Typ des Operanden Typ von (Operand) Mögliche Zeichenfolgen vom Rückgabetyp sind: Zeichenfolge, Boolescher Wert, Zahl, Bigint, Symbol, undefiniert, Funktion, Objekt. RückgabetypDie folgende Klassifizierungseinführung erfolgt entsprechend der möglichen Rückgabetypen und deckt alle Verwendungen von typeof ab. String und BooleanZeichenfolgen- und Boolesche Werte geben jeweils Zeichenfolge und Boolesche Werte zurück. Einschließlich String() und Boolean(). Typ von '1' // 'Zeichenfolge' Typ von String(1) // 'Zeichenfolge' Typ von true // 'Boolesch' Typ von Boolean() // 'Boolesch' Zahl und BigintDie zurückgegebenen Zahlen sind Number(), NaN und Infinity sowie die Werte verschiedener mathematischer Konstanten unter dem Math-Objekt. Werte des numerischen Typs BigInt werden als Bigint zurückgegeben, einschließlich BigInt(1). Typ von 1 // 'Zahl' Typ von NaN // 'Zahl' Typ von Math.PI // 'Zahl' Typ von 42n // 'bigint' Typ von BigInt(1) // 'bigint' SymbolDer Symbolwert gibt das Symbol zurück, einschließlich Symbol(). Typ von Symbol () // 'Symbol' Typ von Symbol ('foo') // 'Symbol' Typ von Symbol.Iterator // 'Symbol' undefiniertundefined selbst gibt undefined zurück. Variablen, die nicht existieren oder definiert sind, denen aber kein Anfangswert zugewiesen wurde, geben „undefiniert“ zurück. Es gibt auch nicht standardmäßige Browserfunktionen wie document.all. Typ von undefiniert // 'undefiniert' Typ von ttttttt // 'undefiniert' Typ des Dokuments.alle // 'undefiniert' FunktionFunktion gibt Funktion zurück. Einschließlich der Verwendung der es6-Klassendeklaration. Es gibt auch integrierte Objekte wie String, Number, BigInt, Boolean, RegExp, Error, Object, Date, Array, Function und Symbol selbst. Und Funktion(), neue Funktion(). Funktion func () {} Typ der Funktion // 'Funktion' Typ der Klasse cs {} // 'Funktion' Typ von String // 'Funktion' Typ von RegExp // 'Funktion' Typ der neuen Funktion () // 'Funktion' ObjektObjekt, Array, Null, regulärer Ausdruck, alle geben ein Objekt zurück. Einschließlich Mathematik, JSON-Objekt selbst. Es gibt auch Daten, die zusätzlich zur Funktion den neuen Operator verwenden. Typ von {} // 'Objekt' Typ von [] // 'Objekt' Typ von null // 'Objekt' Typ von /d/ // 'Objekt' Typ von Math // 'Objekt' Typ der neuen Zahl (1) // 'Objekt' andereBei den meisten anderen JavaScript-Schlüsselwörtern ist der resultierende Wert entweder ein Objekt oder eine Funktion. Hinweis: Die meisten Kleinbuchstaben beginnen mit „Objekten“ und die meisten Großbuchstaben mit „Methoden“. Allgemeine Methoden, die eindeutig bekannt sind, wie etwa Alarm, Eingabeaufforderung usw., zählen nicht. Darüber hinaus gibt es Hostobjekte, die in jeder JS-Umgebung speziell implementiert sind. Häufig gestellte Fragen ReferenzfehlerBevor let- und const-Blockbereichsvariablen definiert werden, führt die Verwendung von typeof zu einem ReferenceError. Denn Variablen auf Blockebene bilden bis zu ihrer Initialisierung eine temporäre tote Zone im Header, andernfalls wird ein Referenzfehler gemeldet. Typ von t sei t = 1 // VM327:1 Nicht abgefangener Referenzfehler: t ist nicht definiert // bei <anonym>:1:1 Wenn Sie var zum Definieren einer Variable verwenden, wird kein Fehler gemeldet und „undefined“ zurückgegeben. Es gibt Variablen, die verbessert werden müssen, und es wird keine vorübergehende tote Zone entstehen. Typ von nullDenken Sie für typeof null === 'object' einfach an die möglichen Erklärungen: In der ursprünglichen Implementierung von JavaScript wurden Werte in JavaScript durch ein Tag dargestellt, das den Typ und den tatsächlichen Datenwert angab. Der Typ-Tag eines Objekts ist 0. Verlassen Sie sich auf Da null einen Nullzeiger darstellt (0x00 auf den meisten Plattformen), ist der Typtag von null 0 und typeof null gibt daher „Objekt“ zurück. Einschränkungen von typeofDie Einschränkung von typeof besteht darin, dass es die Typen Null, Arrays, Objekte und reguläre Ausdrücke nicht genau bestimmen kann. Wenn Sie daher ein genaues Urteil fällen möchten, müssen Sie andere technische Mittel oder kombinierte Urteile verwenden. Bestimmen Sie den Array-Typ wie folgt: Object.prototype.toString.call([]) // '[Objekt-Array]' [] Instanz von Array // wahr [].constructor === Array // wahr Unter diesen ist Object.prototype.toString.call eine in JavaScript verwendete gängige Methode zur genauen Bestimmung von Datentypen. Erweiterung: BigInt-TypBigInt ist ein neuer Basistyp, der von ES11 hinzugefügt wurde und ganze Zahlen mit beliebiger Genauigkeit darstellen kann. Es bietet eine Methode zur Darstellung von Ganzzahlen, die größer als 2^53 - 1 sind, und kann beliebig große Ganzzahlen darstellen. Es wird erstellt, indem n an das Ende einer Ganzzahl angehängt wird oder indem der Konstruktor BigInt() aufgerufen wird. IE wird nicht unterstützt. 10n BigInt(99) // 99n Notiz:
ZusammenfassenDies ist das Ende dieses Artikels über die Verwendung von typeof in js. Weitere relevante Inhalte zur Verwendung von typeof in js finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Apache Calcite-Code zur Dialektkonvertierung
>>: Benutzer müssen wissen, warum
Inhaltsverzeichnis Grundlegende HTML-Struktur Gen...
Mit dem Laufschriftelement können Sie einfache Gle...
Inhaltsverzeichnis 1. Anwendungslebenszyklus 2. S...
1. Native Netzwerkanforderung 1. XMLHttpRequest (...
Inhaltsverzeichnis I. Überblick 2. pt-archiver Ha...
1. Installation 1. Herunterladen Gehen Sie zur of...
Inhaltsverzeichnis Vermeiden Sie die Verwendung d...
Einführung in Flex Layout Flex bedeutet auf Engli...
Protokollieren Sie die Installation und Verwendun...
Warum brauchen wir Master-Slave-Replikation? 1. I...
Verwenden Sie JS, um objektorientierte Methoden z...
Transtion in Vue ist eine Kapselungskomponente f...
1. Es muss die InnoDB-Speicher-Engine verwendet w...
Problembeschreibung 1. Datenbank der Sammelstelle...
Inhaltsverzeichnis Vorwort Was ist VirtualDOM? Gr...