ES6 class小挑战
// 编码挑战 #2
/*
- 重新创建挑战 1,但这次使用 ES6 类;
a. 添加一个名为 “speedUS ”的获取器,返回当前速度(单位:mi/h)(除以 1.6);
3.
a. 添加一个名为 “speedUS ”的setter,用于设置当前速度(单位为 mi/h)(但在存储值之前要将其转换为 km/h,即输入值乘以 1.6);
4.
a. 创建一辆新汽车,尝试使用加速和制动方法以及 getter 和 setter。
数据 汽车 1:“福特”,时速 120 公里
祝你好运
*/
● 首先先将之前的函数改造成class类的方式
class CarCl {
constructor(make, speed) {this.make = make;this.speed = speed;}accelerate() {this.speed += 10;console.log(`${this.make} 速度为${this.speed}km/h`);}brake() {this.speed -= 5;console.log(`${this.make}速度为${this.speed}km/h`);}
}
● 剩下的就很简单了,参考答案如下
class CarCl {constructor(make, speed) {this.make = make;this.speed = speed;}accelerate() {this.speed += 10;console.log(`${this.make} 速度为${this.speed}km/h`);}brake() {this.speed -= 5;console.log(`${this.make}速度为${this.speed}km/h`);}get speedUS() {return this.speed / 1.6;}set speedUS(speed) {this.speed = speed * 1.6;}
}const ford = new CarCl('福特', 120);
console.log(ford.speedUS);
ford.accelerate();
ford.accelerate();
ford.brake();
ford.speedUS = 50;
console.log(ford);