JavaScript · Middle · Запитання 5 з 75
Що виведе код?
const obj = {
name: "Ann",
hi: () => this.name,
};
console.log(obj.hi());- ✓Правильна відповідь:
undefined: стрілка береthisіз зовнішньої області, а не з об'єкта - 2
"Ann": стрілковий метод завжди прив'язаний до свого об'єкта - 3
SyntaxError: стрілки не можна оголошувати в об'єктних літералах
Пояснення
Об'єктний літерал не створює власної області для this. Стрілка візьме this модуля або глобальної області. Тому методи об'єктів оголошують звичайним синтаксисом hi() {}.