JavaScript · Middle · Frage 4 von 75

Was gibt dieser Code nach einer Sekunde aus?

const timer = {
  seconds: 10,
  start() {
    setTimeout(function () { console.log(this.seconds); }, 1000);
  },
};
timer.start();
Antwort zeigen

Richtige Antwort: undefined: ein normaler Callback hat sein eigenes this

Erklärung

Der Timer ruft den Callback ohne Kontext auf, also ist this nicht timer. Eine Arrow Function () => console.log(this.seconds) würde this von start übernehmen und 10 ausgeben. Das ist der klassische Fall, in dem Arrow Functions nützlich sind.

Zum Weiterlesen

Fehler in der Frage

JavaScript · Middle · Frage 4

Teste dich selbst

Mach den Test JavaScript · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen