Heim  >  Artikel  >  Web-Frontend  >  Einführung in die Konzepte häufig verwendeter Datentypen in JavaScript

Einführung in die Konzepte häufig verwendeter Datentypen in JavaScript

不言
不言nach vorne
2019-03-18 10:51:132354Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Konzepte häufig verwendeter Datentypen in JavaScript. Ich hoffe, dass er für Freunde hilfreich ist.

Alle Programmiersprachen verfügen über integrierte Datenstrukturen, aber die Datenstrukturen verschiedener Programmiersprachen sind häufig unterschiedlich. In diesem Artikel wird versucht, die in der JavaScript-Sprache integrierten Datenstrukturen und ihre Eigenschaften aufzulisten, die zum Aufbau anderer Datenstrukturen verwendet werden können, und die Unterschiede zu anderen Sprachen so gut wie möglich zu beschreiben.

1. Dynamisches Tippen

JavaScript ist eine schwach typisierte oder dynamische Sprache. Das bedeutet, dass Sie den Typ der Variablen nicht im Voraus deklarieren müssen, der Typ wird automatisch während der Ausführung des Programms bestimmt. Dies bedeutet auch, dass Sie dieselbe Variable zum Speichern verschiedener Datentypen verwenden können:

Gemeinsame JS-Datentypen

Programmiersprachen verfügen alle über integrierte Datenstrukturen, aber die Datenstrukturen von Verschiedene Programmiersprachen Es gibt oft Unterschiede. In diesem Artikel wird versucht, die in der JavaScript-Sprache integrierten Datenstrukturen und ihre Eigenschaften aufzulisten, die zum Aufbau anderer Datenstrukturen verwendet werden können, und die Unterschiede zu anderen Sprachen so gut wie möglich zu beschreiben.

1. Dynamisches Tippen

JavaScript ist eine schwach typisierte oder dynamische Sprache. Das bedeutet, dass Sie den Typ der Variablen nicht im Voraus deklarieren müssen, der Typ wird automatisch während der Ausführung des Programms bestimmt. Dies bedeutet auch, dass Sie dieselbe Variable zum Speichern verschiedener Datentypen verwenden können:

var foo = 42;    // foo is a Number now
foo = "bar"; // foo is a String now
foo = true;  // foo is a Boolean now

Das Merkmal dynamisch typisierter Sprache ist Flexibilität, der Nachteil besteht jedoch darin, dass dadurch etwas an Leistung verloren geht. Bei dynamisch typisierten Sprachen können Variablentypen dynamisch geändert werden und können zur Kompilierungszeit nicht bestimmt werden. Daher ist die Typprüfung zur Kompilierungszeit relativ schwach, was zu vielen Typfehlern führt, die erst zur Laufzeit entdeckt werden.

2. Datentypen

Der neueste ECMAScript-Standard definiert 7 Datentypen:

6 primitive Typen:

rrreeObject

3. Primitive Werte (primitiv Werte)

Alle Typen außer Object sind unveränderlich (der Wert selbst kann nicht geändert werden). Im Gegensatz zur Sprache C sind Zeichenfolgen in JavaScript beispielsweise unveränderlich. Wir nennen diese Art von Werten „Primitivwerte“.

Boolean-Typ (Boolean)

Boolean stellt eine logische Entität dar, die zwei Werte haben kann: wahr und falsch.

Null-Typ

Der Null-Typ hat nur einen Wert: null für weitere Details.

Undefinierter Typ

Eine Variable, der kein Wert zugewiesen wurde, hat den Standardwert undefiniert. Weitere Details finden Sie unter undefiniert und undefiniert.

Zahlentypen

Gemäß dem ECMAScript-Standard gibt es in JavaScript nur einen Zahlentyp: einen 64-Bit-Binärwert mit doppelter Genauigkeit (-(263 -1) bis 263 -1) basierend auf dem IEEE 754-Standard . Es wird kein spezifischer Typ für Ganzzahlen angegeben. Neben der Möglichkeit, Gleitkommazahlen darzustellen, gibt es auch vorzeichenbehaftete Werte: +Infinity, -Infinity und NaN (Not-a-Number).

Um zu überprüfen, ob ein Wert größer oder kleiner als +/-Unendlich ist, können Sie die Konstanten Number.MAX_VALUE und Number.MIN_VALUE verwenden. Darüber hinaus können Sie in ECMAScript 6 auch die Methode Number.isSafeInteger() sowie Number.MAX_SAFE_INTEGER und Number.MIN_SAFE_INTEGER verwenden, um zu prüfen, ob der Wert im Bereich von Gleitkommazahlen mit doppelter Genauigkeit liegt. Außerhalb dieses Bereichs sind Zahlen in JavaScript nicht mehr sicher, d. h. nur die zweite mathematische ganze Zahl kann in JavaScript-Zahlentypen korrekt dargestellt werden.

Der Zahlentyp hat nur eine Ganzzahl, die auf zwei Arten dargestellt werden kann: 0 kann als -0 und +0 dargestellt werden („0“ ist die Abkürzung für +0). Auch dies hat in der Praxis kaum Auswirkungen. Zum Beispiel ist +0 === -0 wahr. Bei der Division durch 0 sollten Sie jedoch Folgendes beachten:

   Boolean
   Null
   Undefined
   Number
   String
   Symbol (ECMAScript 6 新定义)

String-Typ

Der String-Typ von JavaScript wird zur Darstellung von Textdaten verwendet. Es ist ein „Element“ einer Menge von 16-Bit-Ganzzahlwerten ohne Vorzeichen. Jedes Element in der Zeichenfolge nimmt eine Position in der Zeichenfolge ein. Das erste Element hat den Index 0, das nächste den Index 1 und so weiter. Die Länge einer Zeichenfolge ist die Anzahl ihrer Elemente.

Im Gegensatz zu C-ähnlichen Sprachen sind JavaScript-Strings unveränderlich. Dies bedeutet, dass die einmal erstellte Zeichenfolge nicht mehr geändert werden kann. Es ist jedoch möglich, neue Zeichenfolgen basierend auf Operationen an der ursprünglichen Zeichenfolge zu erstellen. Beispiel:

Erhalten Sie einen Teilstring eines Strings, indem Sie einzelne Buchstaben auswählen oder String.substr() verwenden, um zwei Strings zu verbinden, verwenden Sie den Verkettungsoperator (+) oder String.concat().

Achten Sie auf den „String-Typ“ im Code!
Strings können verwendet werden, um komplexe Daten auszudrücken. Hier sind einige tolle Eigenschaften:

Einfache Verkettung und Konstruktion komplexer Zeichenfolgenzeichen
Zeichenfolgen sind leicht zu debuggen (was Sie oft in der Zeichenfolge sehen)
Zeichenfolgen sind häufig ein allgemeiner Standard in vielen APIs (Eingabefelder, lokale Speicherwerte, XMLHttpRequest). antwortet bei Verwendung von ResponseText usw.) und kann nur mit Zeichenfolgen verwendet werden.
Konventionell können Zeichenfolgen im Allgemeinen verwendet werden, um jede Datenstruktur auszudrücken. Das ist keine gute Idee. Mit einem Trennzeichen kann man beispielsweise eine Liste nachahmen (ein JavaScript-Array könnte besser geeignet sein). Wenn für Elemente in einer Liste ein Trennzeichen verwendet wird, wird die Liste leider unterbrochen. ein Escape-Zeichen usw. Ohne die richtigen Tools werden all diese Routinen zu einer nicht vorhandenen Wartungslast.

Es wird empfohlen, beim Ausdrücken von Textdaten und symbolischen Daten Zeichenfolgen zu verwenden. Verwenden Sie String-Parsing und geeignete Abkürzungen, wenn Sie komplexe Daten ausdrücken.

Symboltyp

Symbole werden in der 6. Ausgabe von ECMAScript neu definiert. Symbolische Typen sind eindeutig und nicht veränderbar und können auch als Schlüsselwert von Object verwendet werden (wie unten gezeigt). In einigen Sprachen gibt es auch ähnliche atomare Typen (Atoms). Sie können sie sich auch als aufgezählte Typen in C vorstellen. Weitere Einzelheiten finden Sie unter Symbol und Symbol.

Objektobjekt

In Javascript kann ein Objekt als eine Sammlung von Eigenschaften betrachtet werden. Wenn ein Objekt mithilfe der Objektliteralsyntax definiert wird, wird eine Reihe von Eigenschaften automatisch initialisiert. (Mit anderen Worten, wenn Sie eine var a = „Hallo“ definieren, dann hat a selbst die Methode a.substring, das Attribut a.length und andere; wenn Sie ein Objekt definieren, var a = {}, dann hat a verfügt automatisch über Eigenschaften und Methoden wie a.hasOwnProperty und a.constructor) und diese Eigenschaften können dann erhöht oder verringert werden. Der Wert einer Eigenschaft kann beliebiger Art sein, einschließlich Objekten mit komplexen Datenstrukturen. Ein Attribut wird durch einen Schlüssel identifiziert und sein Schlüsselwert kann eine Zeichenfolge oder ein Symbolwert (Symbol) sein.

Es gibt zwei Attribute in Objekten, die von ECMAScript definiert werden: Datenattribute und Accessor-Attribute.

Datenattribute
Datenattribute sind Schlüssel-Wert-Paare und jedes Datenattribut weist die folgenden Merkmale auf:

Attribute einer Dateneigenschaft

O(∩_∩ )O Haha~ Die Grundlagen sind immer noch sehr wichtig.



Das obige ist der detaillierte Inhalt vonEinführung in die Konzepte häufig verwendeter Datentypen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen