Мне было интересно узнать, могу ли я написать чистый класс ES6, используя функции стрелок.Вот мой пример класса:
class PhoneNumber {
constructor(phoneNumber) {
this.phoneNumber = phoneNumber;
}
testEmpty() {
if (!this.phoneNumber) return true;
return false;
}
}
Не похоже, что я могу написать это как:
class PhoneNumber {
constructor = phoneNumber => {
this.phoneNumber = phoneNumber;
}
testEmpty = () => {
if (!this.phoneNumber) return true;
return false;
}
}
Хотя я могу написать что-то похожее на React:
class PhoneNumber extends React.Component {
state = {
phoneNumber: this.props.phoneNumber;
}
testEmpty = () {
if (!this.state.phoneNumber) return true;
return false;
}
}
Почему компонент React, даже будучи классом, принимает функцию стрелки ES6, а мой чистый класс - нет?