14. Unterrichtsblock

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:

MethodeBeschreibung
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
EigenschaftBeschreibung
sizeGibt 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

MethodeBeschreibung
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
EigenschaftBeschreibung
sizeGibt 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:

ObjekteMaps
IterierbarSind nicht direkt iterierbarSind direkt iterierbar
GrößeHaben keine GrößeneigenschaftHaben eine Größeneigenschaft
SchlüsselwerteSchlüsselwerte müssen Zeichenfolgen (oder Symbole) seinSchlüsselwerte können jeden Datentyp haben
ReihenfolgeSchlüsselwerte sind ungeordnetSchlüsselwerte werden nach der Eintragsreihenfolge sortiert
StandardwerteHaben StandardwerteHaben 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 typeofOperator 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 typeofOperator gibt „object“ für Objekte, Arrays und null zurück.

Der typeofOperator 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 schlicht null 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, truewenn 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 Parameter a und b verwendet.
  • Die Funktion sollte die Summe von a und b 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 oder false 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 Objekt person.
  • 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 Parametern modell und farbe.
  • 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, die console.log(this) ausführt.
  • Rufen Sie die Funktion einmal direkt auf.
  • Erstellen Sie ein Objekt objekt, das zeigeThis als Methode methode enthält, und rufen Sie diese Methode auf.

Übungsaufgaben

Aufgabe 1

Lösung

14-unterricht.html