@zlodiak

Является ли это стейт-машиной?

Скажите пожалуйста, правильно ли я реализовал примитивную модель стейт-машины?

class Car {
	constructor() {
  	this.petrol = 100,
    this.weight = 200,
    this.stamina = 300
  }
  
  setState(prop, val) {
  	this[prop] = val
  }
  
  displayState() {
  	console.log(this.petrol);
    console.log(this.weight);
    console.log(this.stamina);
  }
}


car = new Car();
car.displayState();

car.setState('petrol', 0);
car.displayState();


JSFIDDLE

Конечно, её можно улучшить, но меня пока интересует самый простейший её вид. Хотел бы просто понять идею.
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 2
Robur
@Robur
Знаю больше чем это необходимо
В общем примитивном и бесполезном понимании можно это притянуть за уши как стейт-машину где в любое состояние можно прийти из любого другого состояния и состояний бесконечное множество. Но это если вы хитрожопый адвокат в суде.
А так то конечно нет - попробуйте составить список всех состояний и правила перехода из одного состояния в другое для вашего класса и все поймете.
Ответ написан
Комментировать
Immortal_pony
@Immortal_pony Куратор тега JavaScript
Нет, вы просто меняете свойства класса, у вас нет никаких состояний.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы