JavaScript · Middle · Frage 1 von 75

Was gibt dieser Code aus?

const user = {
  name: "Ann",
  greet() { return this.name; },
};
const greet = user.greet;
console.log(greet());
Antwort zeigen

Richtige Antwort: undefined (oder ein Fehler im Strict Mode): der Kontext geht verloren

Erklärung

this hängt davon ab, wie eine Funktion aufgerufen wird, nicht wo sie deklariert ist. greet() wird ohne Objekt vor dem Punkt aufgerufen, also ist this im Strict Mode undefined (im Sloppy Mode das globale Objekt). Abhilfe schafft user.greet.bind(user) oder der Aufruf user.greet().

Zum Weiterlesen

Fehler in der Frage

JavaScript · Middle · Frage 1

Teste dich selbst

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

Diesen Test machen