'use strict';
class Car {
constructor(maxSpeed, speed, isOn, distance, price) {
this.maxSpeed = maxSpeed;
this.speed = speed;
this.isOn = isOn;
this.distance = distance;
this.price = price;
}
static getSpecs(car) {
// console.log(maxSpeed, speed, isOn, distance, price);
return this.maxSpeed, this.speed, this.isOn, this.distance, this.price;
}
get turnOn() {
return this.price;
}
set turnOn(price) {
this.price = price;
}
/*
* Добавь геттер и сеттер для свойства price,
* который будет работать с свойством цены автомобиля.
*/
/*
* Добавь код для того чтобы завести автомобиль
* Записывает в свойство isOn значение true
*/
turnOn() {
this.isOn = true;
}
/*
* Добавь код для того чтобы заглушить автомобиль
* Записывает в свойство isOn значение false,
* и сбрасывает текущую скорость в 0
*/
turnOff() {
this.isOn = false;
this.speed = 0;
}
/*
* Добавялет к свойству speed полученное значение,
* при условии что результирующая скорость
* не больше чем значение свойства maxSpeed
*/
accelerate(value) {
// this.speed += value;
// while (this.speed < this.maxSpeed) {
// // console.log('counter: ', counter);
// // this.speed += value;
// }
this.speed > this.maxSpeed;
this.speed += value;
}
/*
* Добавялет к свойству speed полученное значение,
* при условии что результирующая скорость
* не больше чем значение свойства maxSpeed
*/
decelerate(value) {
this.speed -= value;
this.speed !== 0;
}
/*
* Добавляет в поле distance киллометраж (hours * speed),
* но только в том случае если машина заведена!
*/
drive(hours) {
this.distance = hours * speed;
}
}
const mustang = new Car({ maxSpeed: 200, price: 2000 });
mustang.turnOn();
mustang.accelerate(50);
mustang.drive(2);
Car.getSpecs(mustang);
// maxSpeed: 200, speed: 50, isOn: true, distance: 100, price: 2000
mustang.decelerate(20);
mustang.drive(1);
mustang.turnOff();
Car.getSpecs(mustang);
// maxSpeed: 200, speed: 0, isOn: false, distance: 120, price: 2000
console.log(mustang.price); // 2000
mustang.price = 4000;
console.log(mustang.price); // 4000
您的问题质量在我们眼前不断提高 :)。
请。祝你好运!刻度线在答案的左边。