JavaScript · Middle · Frage 5 von 75
Was gibt dieser Code aus?
const obj = {
name: "Ann",
hi: () => this.name,
};
console.log(obj.hi());- 1
undefined: die Arrow Function nimmtthisaus dem äußeren Bereich, nicht vom Objekt - 2
SyntaxError: Arrow Functions sind in Objektliteralen nicht erlaubt - 3
"Ann": eine Arrow-Methode ist immer an ihr Objekt gebunden
Antwort zeigen
Richtige Antwort: undefined: die Arrow Function nimmt this aus dem äußeren Bereich, nicht vom Objekt
Erklärung
Ein Objektliteral erzeugt keinen eigenen Bereich für this. Die Arrow Function übernimmt this aus dem Modul- oder globalen Bereich. Deshalb deklariert man Objektmethoden mit der normalen Syntax hi() {}.