Datentypen in JavaScript

Datentypen in JavaScript

Dieser Artikel erklärt die Datentypen in JavaScript.

YouTube Video

Datentypen in JavaScript

JavaScript verfügt über Datentypen zur Klassifizierung von Werten, die grob in primitive Typen und Objekttypen unterteilt werden können. Datentypen bestimmen, welche Art von Daten in einer Variable gespeichert wird und beeinflussen, wie diese verarbeitet werden können.

Primitive Datentypen

Primitive Typen sind einfache Datentypen, die einen einzelnen Wert darstellen. JavaScript verfügt über die folgenden 7 primitiven Typen.

number

1let num = 42;
2let pi = 3.14;
3
4console.log("Value of num:", num);
5console.log("Value of pi:", pi);
  • number ist ein Typ, der verwendet wird, um numerische Werte zu verarbeiten, einschließlich Ganzzahlen und Gleitkommazahlen (Dezimalzahlen). Die Verarbeitung von Werten, die bestimmte Grenzen überschreiten, führt zu Infinity oder NaN (Not-a-Number).
1// Decimal calculations
2console.log(0.1 + 0.2 === 0.3); // false
3console.log(0.1 + 0.2); // 0.30000000000000004
4
5// Calculations with large numbers
6console.log(9007199254740991 + 1); // correct value
7console.log(9007199254740991 + 2); // incorrect value
  • In JavaScript werden Zahlen als Gleitkommazahlen dargestellt. Infolgedessen können bestimmte Dezimalzahlen (insbesondere solche, die nicht präzise im Binärformat dargestellt werden können) möglicherweise nicht genau ausgedrückt werden.
  • Wenn genaue Berechnungen erforderlich sind, beispielsweise für Geldbeträge, ist es notwendig, solche Rundungsfehler zu vermeiden. Zum Beispiel können Sie BigInt verwenden oder die Anzahl der Dezimalstellen mit toFixed() anpassen.

string

1let greeting = "Hello, world!";
2let char = 'A';
3const message = `"${greeting}" in JavaScript`;
4
5console.log("Value of greeting:", greeting);
6console.log("Value of char:", char);
7console.log("Value of message:", message);
  • string ist ein Datentyp, der zur Verarbeitung von Text verwendet wird, der eine Folge von Zeichen darstellt. Es wird durch das Einschließen von Text in einfache Anführungszeichen (') oder doppelte Anführungszeichen (") dargestellt. Ab ES6 ermöglichen Vorlagenliterale die einfache Einbettung von Variablen mit Backticks (). Um eine Variable einzubetten, verwenden Sie die Syntax ${}`.

boolean

1let isAvailable = true;
2let hasError = false;
3
4console.log("Value of isAvailable:", isAvailable);
5console.log("Value of hasError:", hasError);
  • boolean stellt einen logischen Wert dar und kann nur zwei Werte haben: true oder false. Es wird als Ergebnis von bedingten Ausdrücken oder als Kennzeichen verwendet.

null

1let result = null;
2
3console.log("Value of result:", result);
  • null ist ein Datentyp, der ausdrücklich 'kein Wert' anzeigt. null wird von Entwicklern festgelegt, um eine absichtliche Leere anzuzeigen.

undefined

1let score;
2let subject = undefined;
3
4console.log("Value of score:", score);     // undefined
5console.log("Value of subject:", subject);
  • undefined ist ein Datentyp, der 'nicht definiert' bedeutet. undefined wird automatisch zugewiesen, wenn eine Variable deklariert, aber kein Wert zugewiesen wird.

bigint

1let bigIntValue = 9007199254740991n;
2let anotherBigInt = 123456789012345678901234567890n;
3
4console.log("Value of bigIntValue:", bigIntValue);
5console.log("Value of anotherBigInt:", anotherBigInt);
  • bigint ist ein Datentyp zur Verarbeitung großer Ganzzahlen. bigint ermöglicht eine genaue Darstellung großer Ganzzahlen, die vom number-Typ nicht dargestellt werden können. bigint-Literale werden durch Anhängen eines n an das Ende einer Zahl dargestellt.
  • bigint ist ein Typ zur Verarbeitung von Ganzzahlen beliebiger Größe ohne Bereichsbeschränkungen. Allerdings können bigint und number nicht direkt miteinander verarbeitet werden, daher ist Vorsicht geboten.

Symbol

1let sym1 = Symbol('id');
2let sym2 = Symbol('id');
3
4console.log("sym1 === sym2:", sym1 === sym2); // false
  • Symbol ist ein Datentyp, der zur Erstellung eindeutiger Bezeichner verwendet wird. Es wird mit Symbol() erstellt und kann als Eigenschaft eines Objekts verwendet werden. Im Gegensatz zu anderen primitiven Datentypen hat Symbol einzigartige Werte, sodass es selbst bei gleichem Inhalt als ein anderes Symbol behandelt wird.

Objekttypen

Objekttypen sind Datenstrukturen, die mehrere Werte speichern können. Ein Objekt ist eine Sammlung von Schlüssel-Wert-Paaren und kann Eigenschaften und Methoden haben.

Object

1let person = {
2    name: "John",
3    age: 30,
4    isEmployee: true
5};
6console.log(person.name); // John
  • Object ist eine Sammlung von Eigenschaften (Schlüssel-Wert-Paaren), die verschiedene Datentypen speichern können. Objekte werden durch geschweifte Klammern {} dargestellt, und jede Eigenschaft wird durch : zwischen Schlüssel und Wert verbunden.

Array

1let numbers = [10, 20, 30];
2console.log(numbers[0]); // 10
3console.log(numbers[1]); // 20
4console.log(numbers[2]); // 30
5console.log(numbers[3]); // undefined
  • Array ist eine Liste, die mehrere Werte in geordneter Weise enthält. Arrays werden durch eckige Klammern [] dargestellt, und die Werte werden durch Kommas , getrennt. Auf jedes Element wird mithilfe eines Indexes zugegriffen, der bei 0 beginnt.

Function

1function greet(name) {
2    return "Hello, " + name;
3}
4console.log(greet("Alice")); // Hello, Alice
  • Funktionen sind eine Art von Objekten und wiederverwendbare Codeblöcke. Funktionen können mit dem Schlüsselwort function definiert werden.

Andere Objekttypen

  • JavaScript hat auch eingebaute Objekttypen wie Date, RegExp, Map und Set. Diese verarbeiten Daten je nach spezifischen Anwendungsfällen.

Typumwandlung

Implizite und explizite Typumwandlungen werden in JavaScript häufig durchgeführt.

Implizite Typumwandlung

  • JavaScript kann Typen automatisch konvertieren, wenn Operationen zwischen verschiedenen Typen ausgeführt werden.
1let result = 5 + "5"; // "55" (the number is converted to a string)
2
3console.log(result);
  • In diesem Beispiel wird die Zahl 5 implizit in einen String umgewandelt, was zu dem String "55" führt.

Explizite Typumwandlung

  • Entwickler können Typumwandlungen auch explizit durchführen.
1let num = "123";
2let convertedNum = Number(num); // Converts "123" to the number 123
3
4console.log(typeof num);
5console.log(typeof convertedNum);
  • In diesem Beispiel wird die Funktion Number() verwendet, um den String "123" explizit in die Zahl 123 umzuwandeln.

Typprüfung

In JavaScript kann der typeof-Operator verwendet werden, um den Datentyp einer Variablen zu überprüfen.

 1// Output: The type of 42 is: number
 2console.log('The type of 42             is:', typeof 42);
 3
 4// Output: The type of 42 is: bigint
 5console.log('The type of 42n            is:', typeof 42n);
 6
 7// Output: The type of "hello" is: string
 8console.log('The type of "hello"        is:', typeof "hello");
 9
10// Output: The type of true is: boolean
11console.log('The type of true           is:', typeof true);
12
13// Output: The type of undefined is: undefined
14console.log('The type of undefined      is:', typeof undefined);
15
16// Output: The type of null is: object
17console.log('The type of null           is:', typeof null);
18
19// Output: The type of Symbol() is: symbol
20console.log('The type of Symbol()       is:', typeof Symbol());
21
22// Output: The type of {} is: object
23console.log('The type of {}             is:', typeof {});
24
25// Output: The type of function () {} is: function
26console.log('The type of function () {} is:', typeof function () {});

Fazit

  • Primitive Datentypen umfassen number, string, boolean, null, undefined und symbol.
  • Objekttypen umfassen Object, Array, Function und andere.
  • Da sowohl automatische als auch explizite Typkonvertierungen stattfinden, ist es wichtig, die richtige Verwendung von Datentypen zu verstehen.

Sie können den obigen Artikel mit Visual Studio Code auf unserem YouTube-Kanal verfolgen. Bitte schauen Sie sich auch den YouTube-Kanal an.

YouTube Video