JavaScript -Objekte
In JavaScript sind Objekte König. Wenn Sie Objekte verstehen, verstehen Sie JavaScript.
In JavaScript ist fast „alles“ ein Objekt.
- Boolesche Werte können Objekte sein (falls mit dem
new
Schlüsselwort definiert) - Zahlen können Objekte sein (falls mit dem
new
Schlüsselwort definiert) - Strings können Objekte sein (falls mit dem
new
Schlüsselwort definiert) - Daten sind immer Objekte
- Mathematik sind immer Objekte
- Reguläre Ausdrücke sind immer Objekte
- Arrays sind immer Objekte
- Funktionen sind immer Objekte
- Objekte sind immer Objekte
Alle JavaScript-Werte, mit Ausnahme von Primitives, sind Objekte.
JavaScript-Primitive
Ein primitiver Wert ist ein Wert, der keine Eigenschaften oder Methoden hat.
Ein primitiver Datentyp sind Daten, die einen primitiven Wert haben.
JavaScript definiert 5 Arten von primitiven Datentypen:
string
number
boolean
null
undefined
Primitive Werte sind unveränderlich (sie sind fest codiert und können daher nicht geändert werden).
Wenn x = 3,14 ist, können Sie den Wert von x ändern. Aber Sie können den Wert von 3,14 nicht ändern.
Wert | Typ | Kommentar |
---|---|---|
"Hallo" | Schnur | "Hallo" ist immer "Hallo" |
3.14 | Nummer | 3.14 ist immer 3.14 |
wahr | boolesch | wahr ist immer wahr |
falsch | boolesch | falsch ist immer falsch |
Null | null (Objekt) | null ist immer null |
nicht definiert | nicht definiert | undefiniert ist immer undefiniert |
Objekte sind Variablen
JavaScript-Variablen können einzelne Werte enthalten:
Beispiel
let person = "John Doe";
JavaScript-Variablen können auch viele Werte enthalten.
Auch Objekte sind Variablen. Aber Objekte können viele Werte enthalten.
Objektwerte werden als Name : Wert - Paare geschrieben (Name und Wert getrennt durch einen Doppelpunkt).
Beispiel
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Ein JavaScript-Objekt ist eine Sammlung benannter Werte
Es ist üblich, Objekte mit dem const
Schlüsselwort zu deklarieren.
Beispiel
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Objekteigenschaften
Die benannten Werte in JavaScript-Objekten werden Eigenschaften genannt .
Eigentum | Wert |
---|---|
Vorname | John |
Nachname | Damhirschkuh |
das Alter | 50 |
Augenfarbe | Blau |
Als Name-Wert-Paare geschriebene Objekte ähneln:
- Assoziative Arrays in PHP
- Wörterbücher in Python
- Hashtabellen in C
- Hashmaps in Java
- Hashes in Ruby und Perl
Objektmethoden
Methoden sind Aktionen , die auf Objekten ausgeführt werden können.
Objekteigenschaften können sowohl primitive Werte als auch andere Objekte und Funktionen sein.
Eine Objektmethode ist eine Objekteigenschaft, die eine Funktionsdefinition enthält .
Eigentum | Wert |
---|---|
Vorname | John |
Nachname | Damhirschkuh |
das Alter | 50 |
Augenfarbe | Blau |
vollständiger Name | function() {return this.firstName + " " + this.lastName;} |
JavaScript-Objekte sind Container für benannte Werte, die Eigenschaften und Methoden genannt werden.
In den nächsten Kapiteln erfahren Sie mehr über Methoden.
Erstellen eines JavaScript-Objekts
Mit JavaScript können Sie Ihre eigenen Objekte definieren und erstellen.
Es gibt verschiedene Möglichkeiten, neue Objekte zu erstellen:
- Erstellen Sie ein einzelnes Objekt mit einem Objektliteral.
- Erstellen Sie ein einzelnes Objekt mit dem Schlüsselwort
new
. - Definieren Sie einen Objektkonstruktor und erstellen Sie dann Objekte des konstruierten Typs.
- Erstellen Sie ein Objekt mit
Object.create()
.
Verwenden eines Objektliterals
Dies ist der einfachste Weg, um ein JavaScript-Objekt zu erstellen.
Mit einem Objektliteral definieren und erstellen Sie ein Objekt in einer einzigen Anweisung.
Ein Objektliteral ist eine Liste von Name:Wert-Paaren (wie Alter:50) in geschweiften Klammern {}.
Das folgende Beispiel erstellt ein neues JavaScript-Objekt mit vier Eigenschaften:
Beispiel
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Leerzeichen und Zeilenumbrüche sind nicht wichtig. Eine Objektdefinition kann mehrere Zeilen umfassen:
Beispiel
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Dieses Beispiel erstellt ein leeres JavaScript-Objekt und fügt dann 4 Eigenschaften hinzu:
Beispiel
const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Verwenden des JavaScript-Schlüsselworts new
Das folgende Beispiel erstellt ein neues JavaScript-Objekt mit new Object()
und fügt dann 4 Eigenschaften hinzu:
Beispiel
const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Die obigen Beispiele machen genau dasselbe.
Aber es besteht keine Notwendigkeit zu verwenden new Object()
.
Verwenden Sie aus Gründen der Lesbarkeit, Einfachheit und Ausführungsgeschwindigkeit die Objektliteralmethode.
JavaScript-Objekte sind änderbar
Objekte sind veränderlich: Sie werden per Referenz adressiert, nicht per Wert.
Wenn Person ein Objekt ist, erstellt die folgende Anweisung keine Kopie von Person:
const x = person; // Will not create a copy of person.
Das Objekt x ist keine Kopie der Person. Es ist ein Mensch. x und person sind dasselbe Objekt.
Alle Änderungen an x ändern auch die Person, da x und Person dasselbe Objekt sind.
Beispiel
const person = {
firstName:"John",
lastName:"Doe",
age:50, eyeColor:"blue"
}
const x = person;
x.age = 10; // Will change both x.age and person.age