Verständnis von Datentypen in JavaScript

Einführung

Datentypen werden verwendet, um einen bestimmten Datentyp in Programmiersprachen zu klassifizieren. Zum Beispiel sind eine Zahl und eine Zeichenfolge unterschiedliche Datentypen, die von JavaScript unterschiedlich behandelt werden.

Dies ist wichtig, weil der spezifische Datentyp, den Sie verwenden, bestimmt, welche Werte Sie ihm zuweisen können und was Sie damit tun können. Anders ausgedrückt: Um Operationen mit Variablen in JavaScript durchführen zu können, ist es wichtig, den Datentyp einer gegebenen Variablen zu verstehen.

In diesem Tutorial werden wir besprechen, wie Datentypen in JavaScript funktionieren, sowie die wichtigen Datentypen, die in der Sprache nativ sind. Dies ist keine erschöpfende Untersuchung der Datentypen, wird Ihnen jedoch helfen, sich mit den Optionen vertraut zu machen, die Ihnen in JavaScript zur Verfügung stehen.

Dynamische Typisierung

JavaScript hat dynamische Datentypen, was bedeutet, dass die Typüberprüfung zur Laufzeit und nicht zur Kompilierungszeit erfolgt. Die Datentypen von Python sind ebenfalls dynamisch typisiert.

Mit dynamisch typisierten Sprachen kann eine Variable mit demselben Namen verwendet werden, um verschiedene Datentypen zu speichern.

Zum Beispiel kann die Variable t, die als Variable durch das let-Schlüsselwort definiert ist (beachten Sie, dass let eine gegebene Variable auf einen bestimmten Bereich beschränkt), zugewiesen werden, um verschiedene Datentypen zu halten, oder kann initialisiert, aber undefiniert gelassen werden:

let t = 16;			// t ist eine Zahl
let t = "Teresa";	// t ist ein String
let t = true;		// t ist ein boolescher Wert
let t;				// t ist undefiniert

Jede der obigen Variablen t kann auf jeden in JavaScript verfügbaren Datentyp gesetzt werden; sie müssen nicht explizit mit einem Datentyp deklariert werden, bevor sie verwendet werden.

Zahlen

JavaScript hat nur einen Zahlentyp, es gibt keine separate Bezeichnung für Ganzzahlen und Gleitkommazahlen. Aufgrund dessen können Zahlen in JavaScript mit oder ohne Dezimalstellen geschrieben werden:

let num1 = 93;
let num2 = 93.00;

In beiden Fällen oben ist der Datentyp eine Zahl und ist unabhängig davon, ob die Zahl Dezimalstellen hat, gleich.

Wissenschaftliche Exponentialnotation kann in JavaScript verwendet werden, um sehr große oder kleine Zahlen abzukürzen, wie in den folgenden Beispielen:

let num3 = 987e8;		// 98700000000
let num4 = 987e-8;		// 0.00000987

Zahlen in JavaScript gelten als genau bis zu 15 Stellen. Das bedeutet, dass Zahlen nach der Erreichung der 16. Stelle gerundet werden:

let num5 = 999999999999999;		// bleibt als 999999999999999
let num6 = 9999999999999999;	// aufgerundet auf 10000000000000000

Neben der Darstellung von Zahlen hat der JavaScript-Zahlentyp auch drei symbolische Werte zur Verfügung:

  • Infinity — ein numerischer Wert, der eine positive Zahl darstellt, die sich der Unendlichkeit nähert
  • -Infinity— ein numerischer Wert, der eine negative Zahl darstellt, die sich der Unendlichkeit nähert
  • NaN — ein numerischer Wert, der eine Nichtzahl darstellt, für nicht eine Zahl

Infinity oder -Infinity werden zurückgegeben, wenn Sie eine Zahl berechnen, die außerhalb der größtmöglichen in JavaScript verfügbaren Zahl liegt. Diese werden auch für Werte auftreten, die undefiniert sind, wie beim Teilen durch Null:

let num7 = 5 / 0;	// gibt Infinity zurück
let num8 = -5 / 0;	// gibt -Infinity zurück

In technischer Hinsicht wird Infinity angezeigt, wenn eine Zahl die Zahl 1.797693134862315E+308 überschreitet, die das obere Limit in JavaScript darstellt.

Ähnlich wird -Infinity angezeigt, wenn eine Zahl das untere Limit von -1.797693134862316E+308 überschreitet.

Die Zahl Infinity kann auch in Schleifen verwendet werden:

while (num9 != Infinity) { 
	// Der Code hier wird bis num9 = Unendlichkeit ausgeführt
}

Für Zahlen, die keine gültigen Zahlen sind, wird NaN angezeigt. Wenn Sie versuchen, eine mathematische Operation auf eine Zahl und einen nicht-numerischen Wert durchzuführen, wird NaN zurückgegeben. Dies ist der Fall im folgenden Beispiel:

let x = 20 / "Shark";	// x wird NaN sein

Da die Zahl 20 nicht durch den String "Shark" geteilt werden kann, weil er nicht als Zahl ausgewertet werden kann, ist der zurückgegebene Wert für die Variable x NaN.

Wenn jedoch ein String als numerischer Wert ausgewertet werden kann, kann der mathematische Ausdruck in JavaScript ausgeführt werden:

let y = 20 / "5";	// y wird 4 sein

In obigem Beispiel wird der String "5" als numerischer Wert in JavaScript behandelt und funktioniert daher mit dem mathematischen Operator für Division, /.

Wenn der Wert NaN einer in einer Operation verwendeten Variablen zugewiesen wird, führt dies zum Wert NaN, auch wenn der andere Operand eine gültige Zahl ist:

let a = NaN;
let b = 37;
let c = a + b; 	// c wird NaN sein

In JavaScript gibt es nur einen Datentyp für Zahlen. Bei der Arbeit mit Zahlen wird jede eingegebene Zahl als Datentyp für Zahlen interpretiert. Sie müssen nicht angeben, welchen Datentyp Sie eingeben, da JavaScript dynamisch typisiert ist.

Zeichenfolgen

A string is a sequence of one or more characters (letters, numbers, symbols). Strings are useful in that they represent textual data.

In JavaScript existieren Zeichenfolgen entweder in einfachen Anführungszeichen ' oder doppelten Anführungszeichen ". Um eine Zeichenfolge zu erstellen, umschließen Sie eine Zeichenfolge von Zeichen in Anführungszeichen:

let singleQuotes = 'This is a string in single quotes.';
let doubleQuotes = "This is a string in double quotes.";

Sie können entweder einfache Anführungszeichen oder doppelte Anführungszeichen verwenden, aber welche Sie auch immer wählen, sollten Sie innerhalb eines Programms konsistent bleiben.

Das Programm „Hallo, Welt!“ demonstriert, wie eine Zeichenfolge in der Computerprogrammierung verwendet werden kann, da die Zeichen, die den Ausdruck Hallo, Welt! im alert() unten bilden, eine Zeichenfolge sind.

hello.html
<!DOCTYPE HTML>
<html>
<head>
<script>
function helloFunction() {
    alert("Hello, World!");
}
</script>
</head>
<body>
<p><button onclick="helloFunction()">Click me</button></p>
</body>
</html>

Wenn wir den Code ausführen und auf die Schaltfläche Klick mich klicken, erhalten wir eine Popup-Meldung mit folgender Ausgabe:

Output
Hello, World!

Wie bei anderen Datentypen können wir Zeichenfolgen in Variablen speichern:

let hw = "Hello, World!";

Und die Zeichenfolge im alert() anzeigen, indem wir die Variable aufrufen:

hello.html
...
<script>
let hw = "Hello, World!";
function helloFunction() {
    alert(hw);
}
</script>
...
Output
Hello, World!

Es gibt viele Operationen, die wir mit Zeichenfolgen in unseren Programmen durchführen können, um sie zu manipulieren und die gewünschten Ergebnisse zu erzielen. Zeichenfolgen sind wichtig, um Informationen an den Benutzer zu kommunizieren, und damit der Benutzer Informationen an das Programm zurückkommunizieren kann.

Booleans

Der Boolean-Datentyp kann einen von zwei Werten haben, entweder true oder false. Booleans werden verwendet, um die Wahrheitswerte zu repräsentieren, die mit dem logischen Zweig der Mathematik verbunden sind, der Algorithmen in der Informatik informiert.

Viele Operationen in der Mathematik liefern uns Antworten, die entweder wahr oder falsch ausgewertet werden:

  • größer als
    • 500 > 100 true
    • 1 > 5 false
  • kleiner als
    • 200 < 400 true
    • 4 < 2 false
  • gleich
    • 5 = 5 true
    • 500 = 400 false

Wie bei anderen Datentypen können wir einen Boolean-Wert in einer Variablen speichern:

let myBool = 5 > 8;	// false

Da 5 nicht größer als 8 ist, hat die Variable myBool den Wert false.

Wenn Sie mehr Programme in JavaScript schreiben, werden Sie sich immer besser damit auskennen, wie Booleans funktionieren und wie sich verschiedene Funktionen und Operationen, die zu wahr oder falsch ausgewertet werden, auf den Verlauf des Programms auswirken können.

Arrays

Ein Array kann mehrere Werte in einer einzigen Variablen halten. Das bedeutet, dass du eine Liste von Werten in einem Array speichern und durch sie iterieren kannst.

Jedes Element oder jeder Wert, der sich in einem Array befindet, wird als Element bezeichnet. Du kannst auf die Elemente eines Arrays zugreifen, indem du eine Indexnummer verwendest.

Genauso wie Zeichenfolgen durch Zeichen zwischen Anführungszeichen definiert werden, werden Arrays durch Werte zwischen eckigen Klammern [ ] definiert.

Ein Array von Zeichenfolgen sieht zum Beispiel so aus:

let fish = ["shark", "cuttlefish", "clownfish", "eel"];

Wenn wir die Variable fish aufrufen, erhalten wir die folgende Ausgabe:

["shark", "cuttlefish", "clownfish", "eel"]

Arrays sind ein sehr flexibler Datentyp, weil sie veränderbar sind und Elementwerte hinzugefügt, entfernt und geändert werden können.

Objekte

Der JavaScript-Objekt-Datentyp kann viele Werte als Name:Wert-Paare enthalten. Diese Paare bieten eine nützliche Möglichkeit, Daten zu speichern und darauf zuzugreifen. Die Objektliteral-Syntax besteht aus Name:Wert-Paaren, die durch Doppelpunkte getrennt sind und auf jeder Seite von geschweiften Klammern { } eingeschlossen sind.

Typischerweise wird verwendet, um Daten zu speichern, die miteinander zusammenhängen, wie die Informationen, die in einer ID enthalten sind, sieht ein JavaScript-Objektliteral so aus, mit Leerzeichen zwischen den Eigenschaften:

let sammy = {firstName:"Sammy", lastName:"Shark", color:"blue", location:"ocean"};

Alternativ, insbesondere für Objektliterale mit einer hohen Anzahl von Name-Wert-Paaren, können wir diesen Datentyp auf mehreren Zeilen schreiben, mit einem Leerzeichen nach jedem Doppelpunkt:

let sammy = {
    firstName: "Sammy",
    lastName: "Shark",
    color: "blue",
    location: "Ocean"
};

Die Objektvariable sammy in jedem der obigen Beispiele hat 4 Eigenschaften: firstName, lastName, color und location. Diese werden jeweils durch Doppelpunkte getrennt übergeben.

Arbeiten mit mehreren Datentypen

Während jedes von Ihnen erstellte Programm mehrere Datentypen enthalten wird, ist es wichtig, im Hinterkopf zu behalten, dass Sie in der Regel Operationen innerhalb desselben Datentyps durchführen werden. Das heißt, Sie werden Mathematik mit Zahlen durchführen oder Zeichenfolgen schneiden.

Wenn Sie einen Operator verwenden, der über Datentypen hinweg funktioniert, wie z. B. der +-Operator, der Zahlen addieren oder Zeichenfolgen verketten kann, können Sie unerwartete Ergebnisse erzielen.

Zum Beispiel, wenn Sie den +-Operator zusammen mit Zahlen und Zeichenfolgen verwenden, werden die Zahlen als Zeichenfolge behandelt (und daher verketten sie sich), aber die Reihenfolge der Datentypen wird die Verkettung beeinflussen.

Also, wenn Sie eine Variable erstellen, die die folgende Verkettung durchführt, wird JavaScript jedes Element unten als Zeichenfolge interpretieren:

let o = "Ocean" + 5 + 3;

Wenn Sie die Variable o aufrufen, erhalten Sie den folgenden Wert zurück:

Output
Ocean53

Allerdings, wenn Sie mit Zahlen beginnen, werden die beiden Zahlen addiert, bevor sie dann als Zeichenfolge interpretiert werden, wenn das Programm während der Laufzeit "Ocean" erreicht. Daher wird der zurückgegebene Wert die Summe der beiden Zahlen sein, die mit der Zeichenfolge konkateniert sind:

let p = 5 + 3 + "Ocean";
Output
8Ocean

Aufgrund dieser unerwarteten Ergebnisse werden Sie wahrscheinlich Operationen und Methoden innerhalb eines Datentyps durchführen, anstatt sie zu mischen. JavaScript gibt jedoch keine Fehler zurück, wenn Datentypen gemischt werden, wie es einige andere Programmiersprachen tun.

Schlussfolgerung

Zu diesem Zeitpunkt sollten Sie ein besseres Verständnis einiger wichtiger Datentypen haben, die in JavaScript verfügbar sind.

Jeder dieser Datentypen wird wichtig, während Sie Programmierprojekte in der JavaScript-Sprache entwickeln.

Source:
https://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript