Можно ли использовать стрелочные функции в классах?

Ответы
Аватар пользователя Aleksandr Litvinov
Aleksandr Litvinov
24 июня 2022

В принципе запрета нет на использование стрелочных функций в классах. Но это нужно использовать с умом. Потому что стрелочные функции не попадают в прототип класса. То есть если например мы захотим переиспользовать метод в другом классе, то со стрелочными функциями это не заработает

class A {
  message = 'hello from class A';

  getMessage() {
    return this.message;
  }

  getMessageArrow = () => {
    return this.message;
  }
}

class B {
  message = 'hello from class B';
}


B.prototype.getMessage = A.prototype.getMessage; // Ok
B.prototype.getMessageArrow = A.prototype.getMessageArrow; // undefined
Добавьте ваш ответ

Рекомендуемые курсы

утверждения
jest
матчеры
юнит-тесты
14 часов
Посмотреть
промисы
event loop
обработка ошибок
таймеры
18 часов
Посмотреть
Алгоритмы сортировки
Структуры данных
Бинарный поиск
Жадные алгоритмы
10 часов
Посмотреть