【发布时间】:2020-08-04 04:54:52
【问题描述】:
看了下面的代码,有一种不好的感觉,旧版本的操作要简单得多。
// Pre ES6: 5 lines
function Car (make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
// Post ES6: 7 lines
class Car {
constructor(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
}
归根结底,它们都是对象。那么,我们为什么要使用新结构呢?
【问题讨论】:
-
因为如果您的实例属性不多,后者更易于管理。添加一些方法,您会发现类语法更整洁。制作
RaceCar extends Car和它的等价物,你会发现类语法有更多好处 -
这只是 JavaScript 陷入 OOP 疯狂的一部分......
-
@weltschmerz 哈哈.. 我可以看到我们这里有一些忠实的粉丝。
-
随意定义一些方法,然后以可扩展的方式对其进行子类化,重写一些方法(包括构造函数),然后调用基,然后看看哪些看起来更易于理解、维护和扩展.一个好的编程语言设计不仅仅是简洁。
标签: javascript class ecmascript-6