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 zuInfinity
oderNaN
(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 mittoFixed()
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
oderfalse
. 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 vomnumber
-Typ nicht dargestellt werden können.bigint
-Literale werden durch Anhängen einesn
an das Ende einer Zahl dargestellt.bigint
ist ein Typ zur Verarbeitung von Ganzzahlen beliebiger Größe ohne Bereichsbeschränkungen. Allerdings könnenbigint
undnumber
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 mitSymbol()
erstellt und kann als Eigenschaft eines Objekts verwendet werden. Im Gegensatz zu anderen primitiven Datentypen hatSymbol
einzigartige Werte, sodass es selbst bei gleichem Inhalt als ein anderesSymbol
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
undSet
. 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 Zahl123
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
undsymbol
. - 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.