用"function"编写类过去更快.那么,为什么我们现在使用"class"呢



我看了下面的代码,有一种不好的感觉,旧版本要简单得多。

// 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;
}
}

它们都是一天结束时的对象。那么,我们为什么要使用新的结构呢?

您在ES5和ES6版本中都没有使用类的许多功能。由于对象没有任何方法,因此几乎没有必要编写一个构造函数,让它们从通用原型继承。您可以简化为工厂功能:

function makeCar (make, model, year) {
return {make, model, year};
}

如果定义一些方法,您会清楚地看到简化语法的好处。

相关内容

最新更新