JavaScript · Middle · Pytanie 5 z 75
Co wypisze ten kod?
const obj = {
name: "Ann",
hi: () => this.name,
};
console.log(obj.hi());- ✓Poprawna odpowiedź:
undefined: strzałka bierzethisz zewnętrznego zakresu, a nie z obiektu - 2
"Ann": metoda-strzałka jest zawsze związana ze swoim obiektem - 3
SyntaxError: strzałek nie można deklarować w literałach obiektów
Wyjaśnienie
Literał obiektu nie tworzy własnego zakresu dla this. Strzałka bierze this z zakresu modułu lub globalnego. Dlatego metody obiektów deklaruje się zwykłą składnią hi() {}.