14. Unterrichtsblock
Kursinhalte
JavaScript Sets
Ein JavaScript-Set ist eine Sammlung eindeutiger Werte. Jeder Wert darf in einem Set nur einmal vorkommen.
HINWEIS: Sets, Maps und Arrays sind sogenannte Iterable. Iterable sind iterierbare Objekte. Auf Iterable kann mit einfachem und effizientem Code zugegriffen werden. Iterable können mit
for..of
-Schleifen iteriert werden.
Set-Methoden & Eigenschaften:
Methode | Beschreibung |
---|---|
new Set() | Erstellt einen neues Set |
add() | Fügt dem Set ein neues Element hinzu |
delete() | Entfernt ein Element aus einem Set |
has() | Gibt true zurück, wenn ein Wert im Set vorhanden ist |
forEach() | Ruft einen Callback für jedes Element im Set auf |
values() | Gibt einen Iterator mit allen Werten in einem Set zurück |
Eigenschaft | Beschreibung |
size | Gibt die Anzahl der Elemente in einem Set zurück |
So erstellet man ein Set
Man kann ein JavaScript-Set erstellen, indem:
- Man ein Array an
new Set()
übergibt - Man
add()
verwendet, um Werte hinzuzufügen - Man
add()
verwendet, um Variablen hinzuzufügen
Die new Set()-Methode
Hier wird ein Array an den new Set()
-Konstruktor übergeben:
Beispiel
// Neues Set erstellen
const buchstaben = new Set(["a","b","c"]);
Set erstellen und Werte hinzufügen:
Beispiel
// Erstelle das Set
const buchstaben = new Set();
// Füge dem Set Werte hinzu
buchstaben.add("a");
buchstaben.add("b");
buchstaben.add("c");
Set erstellen und Variablen hinzufügen:
Beispiel
// Erstelle das Set
const buchstaben = new Set();
// Erstelle die Variablen
const a = "a";
const b = "b";
const c = "c";
// Füge die Variablen zum Set hinzu
buchstaben.add(a);
buchstaben.add(b);
buchstaben.add(c);
buchstaben.add(c); // Wenn man zwei gleiche Werte hinzufügt, wird nur der erste Wert gespeichert
Die forEach()-Methode
Die forEach()
Methode ruft eine Funktion für jedes Set-Element auf:
Beispiel
// Erstelle das Set
const buchstaben = new Set(["a","b","c"]);
// Liste alle Elemente auf
let text = "";
buchstaben.forEach (function(nameWert) {
text += nameWert + "<br>";
})
Die values() Methode
Die values()
-Methode gibt ein neues Iterator-Objekt zurück, das alle Werte in einem Set enthält.
buchstaben.values() // Gibt den [object Set Iterator] zurück
Somit kann das Iterator-Objekt verwendet werden, um auf die Elemente im Set zuzugreifen:
Beispiel
// Liste alle Elemente auf
let text = "";
for (const x of buchstaben.values()) {
text += x;
}
Aufgabe
Aufgabe 1: Erstellen und Ausgeben eines Sets
Erstellen Sie ein Set in JavaScript und fügen Sie die Zahlen 1
, 2
, 3
, 4
, 5
hinzu. Geben Sie dann das Set mithilfe der values()
-Methode im Konsolen-Fenster aus.
Aufgabe 2: Prüfung auf Elemente
Erstellen Sie ein Set mit den Werten Afpfel
, Banane
, und Kirsche
. Überprüfen Sie mit der has()
-Methode, ob das Set die Elemente Banane
und Datum
enthält. Loggen Sie das Ergebnis in der Konsole.
Aufgabe 3: Löschen eines Elements
Erstellen Sie ein Set mit den Elementen 1
, 2
, 3
, 4
, 5
. Entfernen Sie dann das Element 3
aus dem Set mit der delete()
-Methode und geben Sie das Set in der Konsole aus, um die Änderung zu bestätigen.
Aufgabe 4: Iteration über ein Set
Erstellen Sie ein Set mit den Elementen rot
, grün
, blau
. Verwenden Sie dann die forEach()
-Methode, um über jedes Element im Set zu iterieren und den Elementwert in der Konsole auszugeben. Ergänzen Sie die Iteration zudem um eine Nachricht, die vor jedem Element ausgegeben wird, wie zum Beispiel „Die Farbe ist: „.
Aufgabe 5: Kombinieren von Sets
Erstellen Sie zwei Sets, setA
mit den Elementen 1
, 2
, 3
und setB
mit den Elementen 3
, 4
, 5
. Kombinieren Sie dann beide Sets zu einem neuen Set setC
, sodass setC
alle einzigartigen Elemente aus beiden Sets enthält. Geben Sie setC
in der Konsole aus.
JavaScript Maps
Eine Map enthält Schlüssel-Wert-Paare, wobei die Schlüssel einen beliebigen Datentyp haben können. Eine Map merkt sich auch die ursprüngliche Einfügungsreihenfolge der Schlüssel.
Map Methoden
Methode | Beschreibung |
---|---|
new Map() | Erstellt eine neue Map |
set() | Legt den Wert für einen Schlüssel in einer Map fest |
get() | Ruft den Wert für einen Schlüssel in einer Map ab |
delete() | Entfernt ein durch den Schlüssel angegebenes Map-Element |
has() | Gibt true zurück, wenn ein Schlüssel in einer Map vorhanden ist |
forEach() | Ruft eine Funktion für jedes Schlüssel/Wert-Paar in einer Map auf |
entries() | Gibt die Einträgen aller [Schlüssel, Wert]-Paare innerhalb der iterierten Map zurück |
Eigenschaft | Beschreibung |
size | Gibt die Anzahl der Elemente in einer Map zurück |
So wird eine Map erstellt
Man kann JavaScript-Maps erstellen, indem man:
- Man ein Array an
new Map()
übergibt - Eine Map mit
Map.set()
erstellt
Die new Map()-Methode
Man kann eine Map erstellen, indem man ein Array an den new Map()
-Konstruktor übergibt:
Beispiel
// Erstelle eine Map
const obst = new Map([
["Äpfel", 500],
["Bananen", 300],
["Orangen", 200]
]);
Die set()-Methode
Man kann weitere Elemente zu einer Map mit der set()
Methode hinzufügen:
Beispiel
// Erstelle eine Map
const obst = new Map();
// Werte festlegen
obst.set("Äpfel", 500);
obst.set("Bananen", 300);
obst.set("Orangen", 200);
Die set()
Methode kann auch verwendet werden, um bestehende Map-Werte zu ändern:
Beispiel
obst.set("Äpfel", 200);
Die get()-Methode
Die get()
Methode erhält den Wert eines Schlüssels in einer Map:
Beispiel
obst.get("Orangen"); // Gibt 200 zurück
Die size-Eigenschaft
Die size
-Eigenschaft gibt die Anzahl der Elemente in einer Map zurück:
Beispiel
obst.size; // Gibt 3 zurück
Die delete() Methode
Die delete()
Methode entfernt ein Map-Element:
Beispiel
obst.delete("Äpfel");
Die has()-Methode
Die has()
Methode gibt true zurück, wenn ein Schlüssel in einer Map vorhanden ist:
Beispiel
obst.has("Äpfel"); // Gibt true zurück
obst.delete("Äpfel");
obst.has("Äpfel"); // Probiere diesen Code aus, was wird ausgegeben?
JavaScript-Objekte & Maps
Unterschiede zwischen JavaScript-Objekten und Maps:
Objekte | Maps | |
---|---|---|
Iterierbar | Sind nicht direkt iterierbar | Sind direkt iterierbar |
Größe | Haben keine Größeneigenschaft | Haben eine Größeneigenschaft |
Schlüsselwerte | Schlüsselwerte müssen Zeichenfolgen (oder Symbole) sein | Schlüsselwerte können jeden Datentyp haben |
Reihenfolge | Schlüsselwerte sind ungeordnet | Schlüsselwerte werden nach der Eintragsreihenfolge sortiert |
Standardwerte | Haben Standardwerte | Haben keine Standardwerte |
Die forEach()-Methode
Die forEach()
Methode ruft eine Funktion für jedes Schlüssel/Wert-Paar in einer Map auf:
Beispiel
// Liste alle Einträge auf
let text = "";
obst.forEach (function(wert, schluessel) {
text += schluessel + ' = ' + wert;
})
Die Methode entries()
Die entries()
Methode gibt ein Iterator-Objekt mit den [Schlüsseln, Werten] in einer Map zurück:
Beispiel
// Liste alle Einträge auf
let text = "";
for (const x of obst.entries()) {
text += x + "<br>";
}
Aufgaben
Aufgabe 1: Erstellung und Abfrage einer Map
Erstellen Sie eine Map namens hauptstadtMap
, die Länder als Schlüssel (key
) und die entsprechenden Hauptstädte als Wert (value
) speichert. Fügen Sie mindestens drei Länder mit ihren Hauptstädten hinzu. Verwenden Sie die get()
-Methode, um die Hauptstadt eines der Länder abzufragen und geben Sie diese auf der Konsole aus.
Aufgabe 2: Überprüfung von Schlüsseln
Erstellen Sie eine Map mit dem Namen obstPreise
und speichern Sie einige Obstsorten mit zugehörigen Preisen. Überprüfen Sie mit der has()
-Methode, ob ein bestimmtes Obst in Ihrer Map vorhanden ist. Loggen Sie das Ergebnis (true oder false) in der Konsole.
Aufgabe 3: Hinzufügen und Aktualisieren von Elementen
Erstellen Sie eine Map mit dem Namen telefone
, die Personen und ihre Telefonnummern speichert. Fügen Sie zunächst zwei Einträge hinzu. Verwenden Sie anschließend die set()
-Methode, um ein neues Paar hinzuzufügen und um einen bestehenden Eintrag zu aktualisieren. Geben Sie danach die gesamte Map in der Konsole aus.
Aufgabe 4: Iteration über Map-Einträge
Erstellen Sie eine Map buecher
, die Büchertitel und die Namen der Autoren speichert. Verwenden Sie die entries()
-Methode, um eine Liste aller Einträge zu erhalten, und iterieren Sie über diese Liste mit einer Schleife, um jede Buch-Autor-Kombination nacheinander auf der Konsole auszugeben.
Aufgabe 5: Durchführen einer Aktion für jedes Map-Element
Erstellen Sie eine Map, die verschiedene Getränke und deren Preise enthält. Verwenden Sie die forEach()
-Methode, um jede Getränk-Preis-Kombination auszugeben. Formatieren Sie die Ausgabe, um zu sagen: „Das Getränk [Getränk] kostet [Preis] Euro.“
JavaScript typeof
Mit dem typeof
-Operator lassen sich Datentypen identifizieren, um diese in den folgenden Programmteilen korrekt ansprechen und ausführen zu können.
In JavaScript gibt es 5 verschiedene Datentypen, die Werte enthalten können:
string
number
boolean
object
function
Es gibt 6 Arten von Objekten:
Object
Date
Array
String
Number
Boolean
Und 2 Datentypen, die keine Werte enthalten können:
null
undefined
Der typeof-Operator
Man kann den typeof
-Operator verwenden, um den Datentyp einer JavaScript-Variablen zu finden.
Beispiel
typeof "Thomas" // Ausgabe "string"
typeof 3.14 // Ausgabe "number"
typeof NaN // Ausgabe "number"
typeof false // Ausgabe "boolean"
typeof [1,2,3,4] // Ausgabe "object"
typeof {name:'Tom', alter:34} // Ausgabe "object"
typeof new Date() // Ausgabe "object"
typeof function () {} // Ausgabe "function"
typeof meinHaus // Ausgabe "undefined" *
typeof null // Ausgabe "object"
Zu beachten:
- Der Datentyp von NaN ist Zahl
- Der Datentyp eines Arrays ist Objekt
- Der Datentyp eines Datums ist Objekt
- Der Datentyp von null ist Objekt
- Der Datentyp einer undefinierten Variablen ist undefiniert *
- Der Datentyp einer unbewerteten Variable ist ebenfalls undefiniert *
HINWEIS: Man kann
typeof
nicht verwenden, um festzustellen, ob ein JavaScript-Objekt ein Array (oder ein Datum) ist.
Primitive Daten
Ein primitiver Datenwert ist ein einzelner einfacher Datenwert ohne zusätzliche Eigenschaften und Methoden.
Der typeof
Operator kann einen dieser primitiven Typen zurückgeben:
string
number
boolean
undefined
typeof "Thomas" // Ausgabe "string"
typeof 3.14 // Ausgabe "number"
typeof true // Ausgabe "boolean"
typeof false // Ausgabe "boolean"
typeof x // Ausgabe "undefined" (wenn x keinen Wert hat)
Komplexe Daten
Der typeof
-Operator kann einen von zwei komplexen Typen zurückgeben:
function
object
Der typeof
Operator gibt „object“ für Objekte, Arrays und null zurück.
Der typeof
Operator gibt „object“ nicht für Funktionen zurück.
typeof {name:'Tom', alter:34} // Ausgabe "object"
typeof [1,2,3,4] // Ausgabe "object" (nicht "array", siehe unten)
typeof null // Ausgabe "object"
typeof function meineFunktion(){} // Ausgabe "function"
Der
typeof
-Operator gibt „object
“ für Arrays zurück, da Arrays in JavaScript Objekte sind.
Nicht definiert
In JavaScript hat eine Variable ohne Wert den Wert undefined
. Der Typ ist auch undefined
.
Beispiel
let auto; // Wert ist undefined, Typ ist undefined
Jede Variable kann geleert werden, indem der Wert auf undefined
gesetzt wird. Der Typ wird somit auch undefined
sein.
Beispiel
auto = undefined; // Wert ist undefined, Typ ist undefined
Leere Werte
Ein leerer Wert hat nichts mit undefined
zu tun. Eine leere Zeichenfolge hat sowohl einen zulässigen Wert als auch einen Typ.
Beispiel
let car = ""; // Der Wert ist "", Der typeof ist "string"
Null
In JavaScript ist null
einfach „nichts“. Es soll somit etwas dargstellt werden, was es nicht gibt. Leider ist der Datentyp in JavaScript null
ein Objekt.
Man kann es als Fehler in JavaScript betrachten, dass
typeof null
ein Objekt ist. Es sollte schlichtnull
sein.
Man kann ein Objekt leeren, indem man es auf null
setzt:
let person = {vorName:"Thomas", nachName:"Müller", alter:50, augenFarbe:"blau"};
person = null; // Nun ist der Wert null, aber Typ ist immer noch "object"
Man kan ein Objekt auch leeren, indem man es auf undefined
setzt:
let person = {vorName:"Thomas", nachName:"Müller", alter:50, augenFarbe:"blau"};
person = undefined; // Nun ist der Wert und der Typ "undefined"
Unterschied zwischen Undefiniert und Null
undefined
und null
sind gleich im Wert, aber unterschiedlich im Typ:
typeof undefined // Ausgabe "undefined"
typeof null // Ausgabe "object"
null === undefined // Ausgabe "false"
null == undefined // Ausgabe "true"
Der instanceof Operator
Der instanceof
(eine Instanz von) Operator gibt zurück, true
wenn ein Objekt eine Instanz des angegebenen Objekts ist:
const autos = ["Saab", "Volvo", "BMW"];
(autos instanceof Array); // Ausgabe "true"
(autos instanceof Object); // Ausgabe "true"
(autos instanceof String); // Ausgabe "false"
(autos instanceof Number); // Ausgabe "false"
Der void-Operator
Der Operator void
wertet einen Ausdruck aus und gibt undefined
zurück . Dieser Operator wird häufig verwendet, um den undefinierten primitiven Wert mit „void(0)“ zu erhalten (nützlich, wenn ein Ausdruck ausgewertet wird, ohne den Rückgabewert zu verwenden).
Diese Anwendung findet man z. B. wenn man auf einer Website einen JavaScript-Programmcode durch Klick auf einen Button anstoßen soll.
<a href="javascript:void(0);">
Nutzloser Link
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Klick mich, um die Hintergrundfarbe auf rot zu setzen
</a>
Aufgaben
Aufgabe 1: Erkennen von Datentypen
Erstellen Sie mehrere Variablen mit unterschiedlichen Datentypen: eine Zahl, einen String, ein Boolean, ein Objekt, eine Funktion und ein Array. Benutzen Sie den typeof
Operator, um den Datentyp jeder Variablen zu bestimmen und geben Sie diesen auf der Konsole aus. Zum Beispiel:
let zahl = 42;
console.log(typeof zahl); // Sollte "number" ausgeben
Überprüfen Sie Ihre Ergebnisse und beachten Sie die Besonderheiten von typeof
, wie es zum Beispiel bei Arrays und Null-Werten reagiert.
Aufgabe 2: Funktion zur Überprüfung von Datentypen
Schreiben Sie eine Funktion checkType
, die ein Argument entgegennimmt und den Datentyp des Arguments zurückgibt. Rufen Sie diese Funktion mit verschiedenen Typen von Argumenten auf und loggen Sie das Ergebnis in der Konsole. Zum Beispiel:
function checkType(value) {
return typeof value;
}
console.log(checkType(100)); // Sollte "number" ausgeben
console.log(checkType("Hallo Welt")); // Sollte "string" ausgeben
Erweitern Sie die Funktion so, dass sie auch erkennen kann, ob das Argument ein Array oder Null ist, da typeof
hier „object“ zurückgeben würde, was möglicherweise irreführend sein kann.
Aufgabe 3: Unterscheidung zwischen primitiven Typen und Objekten
Definieren Sie eine gemischte Liste von Werten, einschließlich mindestens eines Werts von jedem primitiven Typ (String, Number, BigInt, Boolean, Undefined, Symbol, und Null) sowie ein paar Objekte (darunter ein Array, eine Funktion und ein Objekt-Literal). Verwenden Sie eine Schleife, um durch die Liste zu iterieren und den typeof
Operator anzuwenden, um zu überprüfen, ob der Wert ein primitiver Datentyp oder ein Objekt ist. Geben Sie das entsprechende Ergebnis mit einer aussagekräftigen Nachricht in der Konsole aus. Beispiel:
let werte = [0, "text", true, null, undefined, Symbol("sym"), 123n, {}, [], function() {}];
for (let wert of werte) {
if (typeof wert === "object" || typeof wert === "function") {
console.log(wert, "ist ein Objekt oder eine Funktion");
} else {
console.log(wert, "ist ein primitiver Typ");
}
}
Führen Sie diese Aufgaben durch, um ein besseres Verständnis des typeof
Operators in JavaScript zu bekommen. Achten Sie darauf, verschiedene Werte und Typen zu testen, um die Nuancen des typeof
Operators zu erkennen. Viel Erfolg beim Üben!
Die => Pfeil-Funktion
Pfeilfunktionen ermöglichen es uns, eine kürzere Funktionssyntax zu schreiben:
let meineFunktion = (a, b) => a * b;
Ohne Pfeil:
hallo = function() {
return "Servus!";
}
Mit Pfeilfunktion:
hallo = () => {
return "Servus!";
}
Es wird noch kürzer! Wenn die Funktion nur eine Anweisung hat und die Anweisung einen Wert zurückgibt, kann man die Klammern und das return
Schlüsselwort entfernen:
Standardmäßiger Rückgabewert der Pfeilfunktionen:
hallo = () => "Servus!";
HINWEIS: Dies funktioniert nur, wenn die Funktion nur eine Anweisung hat.
Wenn man Parameter hat, werden Sie diese in den Klammern übergeben:
Pfeilfunktion mit Parametern:
hallo = (wert) => "Servus " + wert;
Wenn man nur einen Parameter hat, kann man die Klammern auch überspringen:
Pfeilfunktion ohne Klammern:
hallo = wert => "Servus " + wert;
Aufgaben
Aufgabe 1: Einfache Pfeilfunktion
Ziel: Schreiben Sie eine Pfeilfunktion, die zwei Zahlen als Argumente nimmt und ihre Summe zurückgibt.
let addiere = (a, b) => {
// Ihr Code hier
};
console.log(addiere(5, 3)); // Sollte 8 ausgeben
Anweisungen:
- Definieren Sie die Funktion
addiere
, die zwei Parametera
undb
verwendet. - Die Funktion sollte die Summe von
a
undb
zurückgeben.
Aufgabe 2: Pfeilfunktion mit einem Parameter
Ziel: Schreiben Sie eine Pfeilfunktion, die einen Parameter nimmt und das Doppelte dieses Wertes zurückgibt.
let verdopple = // Ihr Code hier;
console.log(verdopple(4)); // Sollte 8 ausgeben
Anweisungen:
- Erstellen Sie die Funktion
verdopple
, die einen Parameter nimmt. - Die Funktion sollte den Wert des Parameters verdoppeln und zurückgeben.
Aufgabe 3: Pfeilfunktion ohne Klammern
Ziel: Schreiben Sie eine Pfeilfunktion ohne Klammern um den Parameter, die eine Zahl nimmt und prüft, ob diese Zahl größer als 10 ist. Die Funktion soll true
oder false
zurückgeben.
let istGroesserAlsZehn = // Ihr Code hier;
console.log(istGroesserAlsZehn(12)); // Sollte true ausgeben
console.log(istGroesserAlsZehn(8)); // Sollte false ausgeben
Anweisungen:
- Erstellen Sie die Funktion
istGroesserAlsZehn
, die einen Parameter ohne Klammern um diesen nimmt. - Die Funktion soll überprüfen, ob der Parameter größer als 10 ist und entsprechend
true
oderfalse
zurückgeben.
Das this
Keyword
Auch die Handhabung von this
ist bei Pfeilfunktionen anders als bei regulären Funktionen. Kurz gesagt, bei Pfeilfunktionen gibt es keine Bindung von this
.
In regulären Funktionen repräsentiert das Schlüsselwort this
das Objekt, welches die Funktion, das Fenster, das Dokument, die Schaltfläche oder was auch immer aufgerufen hat.
Bei Pfeilfunktionen repräsentiert das this
Schlüsselwort immer das Objekt, das die Pfeilfunktion definiert hat.
Schauen wir uns zwei Beispiele an, um den Unterschied zu verstehen. Beide Beispiele rufen eine Methode zweimal auf, zuerst beim Laden der Seite und noch einmal, wenn der Benutzer auf eine Schaltfläche klickt.
Das erste Beispiel verwendet eine reguläre Funktion und das zweite Beispiel eine Pfeilfunktion.
Das Ergebnis zeigt, dass das erste Beispiel zwei verschiedene Objekte (Fenster und Schaltfläche) zurückgibt und das zweite Beispiel das Fensterobjekt zweimal zurückgibt, da das Fensterobjekt der „Besitzer“ der Funktion ist.
Beispiel
In einer regulären Funktion stellt this
das Objekt dar, das die Funktion aufruft :
// Reguläre Funktion:
hallo = function() {
document.getElementById("demo").innerHTML += this;
}
// Das window-Objekt ruft die Funktion auf:
window.addEventListener("load", hallo);
// Ein Button-Objekt ruft die Funktion auf:
document.getElementById("btn").addEventListener("click", hallo);
Beispiel
Bei einer Pfeilfunktion stellt this
den Eigentümer der Funktion dar:
// Pfeilfunktion:
hallo = () => {
document.getElementById("demo").innerHTML += this;
}
// Das window-Objekt ruft die Funktion auf:
window.addEventListener("load", hello);
// Ein Button-Objekt ruft die Funktion auf:
document.getElementById("btn").addEventListener("click", hallo);
An diese Unterschiede ist zu denken, wenn man mit Funktionen arbeiten. Manchmal ist das Verhalten regulärer Funktionen das, was man möchte. Wenn nicht, verwendet man Pfeilfunktionen.
Aufgabe
Aufgabe 1: this
in einem Objekt
Ziel: Schreiben Sie ein Objekt mit einer Methode, die das this
-Keyword verwendet, um auf eine Eigenschaft des Objekts zuzugreifen.
Beispiel:
let person = {
name: 'Max',
begruessung: function() {
// Ihr Code hier
}
};
console.log(person.begruessung()); // Sollte 'Hallo, ich bin Max' ausgeben
Anweisungen:
- Ergänzen Sie die Methode
begruessung
im Objektperson
. - Die Methode soll einen String zurückgeben, der
this.name
verwendet, um sich selbst vorzustellen.
Aufgabe 2: this
in einer Konstruktorfunktion
Ziel: Schreiben Sie eine Konstruktorfunktion für ein Auto
-Objekt, das eine Farbe und ein Modell hat. Verwenden Sie das this
-Keyword, um die Eigenschaften zu definieren.
Beispiel:
function Auto(modell, farbe) {
// Ihr Code hier
}
let meinAuto = new Auto('Golf', 'blau');
console.log(meinAuto.modell); // Sollte 'Golf' ausgeben
console.log(meinAuto.farbe); // Sollte 'blau' ausgeben
Anweisungen:
- Definieren Sie die Konstruktorfunktion
Auto
mit den Parameternmodell
undfarbe
. - Verwenden Sie
this
innerhalb der Funktion, um diese Eigenschaften dem neuen Objekt zuzuweisen.
Aufgabe 3: Verständnis von this
in einer Funktion
Ziel: Erstellen Sie eine Funktion zeigeThis
, die das this
-Keyword verwendet. Rufen Sie die Funktion einmal direkt auf und einmal als Methode eines Objekts auf, um den Unterschied zu sehen.
Beispiel:
function zeigeThis() {
console.log(this);
}
zeigeThis(); // Direkter Aufruf
let objekt = {
methode: zeigeThis
};
objekt.methode(); // Aufruf als Methode eines Objekts
Anweisungen:
- Schreiben Sie die Funktion
zeigeThis
, dieconsole.log(this)
ausführt. - Rufen Sie die Funktion einmal direkt auf.
- Erstellen Sie ein Objekt
objekt
, daszeigeThis
als Methodemethode
enthält, und rufen Sie diese Methode auf.