Zum Inhalt springen

Objekte

Javascript ist eine objektorientierte Sprache.

_______________________________________________________________________________________
Auszug wikipedia:

Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee besteht darin, die Architektur einer Software an den Grundstrukturen desjenigen Bereichs der Wirklichkeit auszurichten, der die gegebene Anwendung betrifft. Ein Modell dieser Strukturen wird in der Entwurfsphase aufgestellt. Es enthält Informationen über die auftretenden Objekte und deren Abstraktionen, ihre Typen. Die Umsetzung dieser Denkweise erfordert die Einführung verschiedener Konzepte, insbesondere Klassen, Vererbung, Polymorphie und spätes Binden (dynamisches Binden).

_____________________________________________________________________________________________

Um ein Objekt anzulegen wird erst eine Variable definiert Danach folgt der Zuweisungsoperator (hier = ) und das Schlüsselwort new
Danach schliesst sich der Begriff Object und eine Klammer an. Diesem Object kann man nun Eigenschaften zuordnen. Diese werden durch einen Punkt vom Object getrennt.

Um die Eigenschaften eines Objektes anzeigen zu lassen kann eine for-in-Schleife verwendet werden.

Ausgabe:

Farbe:gelb
LL:180
Gewicht:50

Objekte definieren

Es gibt verschiedene Arten Objekte zu definieren. Am einfachsten geht es über die geschweiften Klammern in denen die Objekteigenschaften und Objectmethoden aufgeführt werden. Schlüssel und Wert werden durch einen Doppelpunkt getrennt.

let person = {vorname:"Max",
          nachname:"Mustermann",
          alter:"44"}
console.log(person.alter);       

Es wird das Alter 44 ausgeben.

Objekte können verschachtelt werden.
Verschachtelte Objekte sind Objekte, die andere Objekte als ihre Eigenschaft enthalten. Das Verschachteln ist eine weit verbreitete Praxis in der Programmierung, da es dem Code erweiterte Details verleiht.

Zugriffe auf Objekte

Am häufigsten wird die DOT Notation (Punktnotation) verwendet. Im Folgenden werden wir uns mit jedem befassen und einige der Unterschiede entdecken. Schauen wir uns zuerst die Dot-Notation an. Betrachten Sie dieses Beispiel

let auto={
        marke: "Volvo",
        kraftstoff: "Benzin",
        km_stand: 12000,
        zustand: "gebraucht",
        preis: 9000,
        ausstattung: {
                navi:true,
                klimaanlage:true,
                tempomat:false,
                panoramadach:false,
                        }       

};

let eigenschaft_auto = auto.marke;
console.log (eigenschaft_auto);


l

let auto={
        marke: "Volvo",
        kraftstoff: "Benzin",
        km_stand: 12000,
        zustand: "gebraucht",
        preis: 9000,
        ausstattung: {
                navi:true,
                klimaanlage:true,
                tempomat:false,
                panoramadach:false,
                        }       

};

let eigenschaft_auto = auto.marke;
console.log (eigenschaft_auto);

// auf verschachtelte Objekte kann ebenso zugegriffen werden

console.log (eigenschaft_ausstattung=auto.ausstattung.navi);

Es können Eigenschaften nachträglich zu einem Objekt hinzugefügt werden:

auto.ps=80;

Nach diesem Prinzip können auch Eigenschaften eines Objektes geändert werden:
Erst wird als Preis 9000 angegben, nachdem die Eigenschaft geändert wurde sind es nur noch 8000 (das ganze Objekt wurde abgefragt)

let auto={
    marke: "Volvo",
    kraftstoff: "Benzin",
    km_stand: 12000,
    zustand: "gebraucht",
    preis: 9000,
    ausstattung: {
            navi:true,
            klimaanlage:true,
            tempomat:false,
            panoramadach:false,
                    }       

};

console.log ("Infos zum Auto:es ist ein ", auto.marke, "mit", auto.km_stand, "und es kostet", auto.preis);

//hinzufügen eines Objektes:
auto.ps=80;

//Änderung einer Eigenschaft:
auto.preis=8000;
console.log (auto);

Methoden

Funktionen die ein Objekt besitzt kann nennt man Methoden.

In JavaScript bezieht sich das Schlüsselwort this auf ein Objekt. Welches Objekt verwendet wird, hängt davon ab, wie es aufgerufen (verwendet oder aufgerufen) wird. Das Schlüsselwort this bezieht sich je nach Verwendung auf unterschiedliche Objekte: In einer Objektmethode bezieht sich this auf das Objekt.

Objektwerte abrufen mit der Methode entries:

let wolle1 = {
    marke:"Schachenmayer",
    ll: 210,
    name: "Catania",
    qualitaet: "Baumwolle"
	
};

let wolle2 = {
    marke: "Delphi",
    name: "Himalaya",
    ll: 80,
    qualitaet: "Poliester"
}

let paare=Object.entries(wolle1);
console.log(paare);

Die Ausgabe ist ein Array mit den Eigenschaften:

michi@localhost ~/js $ node objekt.js 
[
  [ 'marke', 'Schachenmayer' ],
  [ 'll', 210 ],
  [ 'name', 'Catania' ],
  [ 'qualitaet', 'Baumwolle' ]
]

Eigenschaften bzw. Keys eines Objektes abrufen:

let wolle1 = {
    marke:"Schachenmayer",
    ll: 210,
    name: "Catania",
    qualitaet: "Baumwolle"
	
};



let paare=Object.keys(wolle1);
console.log(paare);

Ausgabe:

michi@localhost ~/js $ node objekt.js 
[ 'marke', 'll', 'name', 'qualitaet' ]

Value eines Objektes:

let wolle1 = {
    marke:"Schachenmayer",
    ll: 210,
    name: "Catania",
    qualitaet: "Baumwolle"
	
};



let paare=Object.values(wolle1);
console.log(paare);

Ausgabe:

michi@localhost ~/js $ node objekt.js 
[ 'Schachenmayer', 210, 'Catania', 'Baumwolle' ]