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

Аватар пользователя 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
0 0
Познакомьтесь с основами JavaScript бесплатно