7.4.7 Selbsttest

1. Welche der folgenden Aussagen zu Klassen in JavaScript ist korrekt?

[ ] Eine Klasse kann mehrere Konstruktoren haben.
[ ] Eine Klasse kann Methoden und Eigenschaften von einer anderen Klasse erben.
[ ] Methoden in Klassen müssen immer mit static definiert werden.
[ ] Klassen in JavaScript ersetzen vollständig das Konzept der Prototypen.

Lösung

[ ] Eine Klasse kann mehrere Konstruktoren haben.
[x] Eine Klasse kann Methoden und Eigenschaften von einer anderen Klasse erben.
[ ] Methoden in Klassen müssen immer mit static definiert werden.
[ ] Klassen in JavaScript ersetzen vollständig das Konzept der Prototypen.

Erläuterung:
Klassen in JavaScript unterstützen Vererbung mit dem Schlüsselwort extends. Prototypen sind weiterhin das zugrunde liegende Konzept, auf dem Klassen aufbauen.


2. Welche Aussage über Object.prototype ist korrekt?

[ ] Es handelt sich um eine Methode, die nur in Klassen verwendet wird.
[ ] Es ist ein Objekt, von dem alle erstellten Objekte in JavaScript erben.
[ ] Es enthält Methoden wie map() und filter().
[ ] Es wird nur verwendet, wenn eine Klasse mit extends erweitert wird.

Lösung

[ ] Es handelt sich um eine Methode, die nur in Klassen verwendet wird.
[x] Es ist ein Objekt, von dem alle erstellten Objekte in JavaScript erben.
[ ] Es enthält Methoden wie map() und filter().
[ ] Es wird nur verwendet, wenn eine Klasse mit extends erweitert wird.

Erläuterung:
Object.prototype ist das Basiskonstrukt für alle Objekte in JavaScript. Es enthält grundlegende Methoden wie toString() und hasOwnProperty().


3. Was ist ein Callback in JavaScript?

[ ] Eine Funktion, die automatisch bei jedem Seitenaufruf ausgeführt wird.
[ ] Eine Funktion, die an eine andere Funktion übergeben und bei Bedarf ausgeführt wird.
[ ] Eine spezielle Methode, die nur in async-Funktionen verwendet wird.
[ ] Eine Funktion, die immer nach einer bestimmten Zeit ausgeführt wird.

Lösung

[ ] Eine Funktion, die automatisch bei jedem Seitenaufruf ausgeführt wird.
[x] Eine Funktion, die an eine andere Funktion übergeben und bei Bedarf ausgeführt wird.
[ ] Eine spezielle Methode, die nur in async-Funktionen verwendet wird.
[ ] Eine Funktion, die immer nach einer bestimmten Zeit ausgeführt wird.

Erläuterung:
Ein Callback ist eine Funktion, die als Argument an eine andere Funktion übergeben wird und bei einem bestimmten Ereignis oder Zustand aufgerufen wird. Ein Beispiel ist die Funktion setTimeout().


3. Welcher der folgenden Codes nutzt einen anonymen Callback?

[ ] students.forEach(function(student) { console.log(student); });
[ ] students.forEach(displayStudent);
[ ] const callback = function() { console.log('Callback'); };
[ ] setTimeout(namedCallback, 1000);

Lösung

[x] students.forEach(function(student) { console.log(student); });
[ ] students.forEach(displayStudent);
[ ] const callback = function() { console.log('Callback'); };
[ ] setTimeout(namedCallback, 1000);

Erläuterung:
Ein anonymer Callback ist eine Funktion ohne Namen, die direkt als Argument übergeben wird. Im Beispiel function(student) wird die Funktion direkt in forEach() eingebettet.