【发布时间】:2017-06-07 21:30:25
【问题描述】:
据我所知,类只是旧式构造函数的语法糖。这是否意味着我应该用类完全替换构造函数? 示例:
构造函数
function person(name,age) {
this.name = name;
this.age = age;
}
person.prototype.logAll = function() {
console.log(this.name,this.age);
};
var rachel = new person("Rachel Green", 52);
rachel.logAll();
类
class person {
constructor(name,age) {
this.name = name;
this.age = age;
}
logAll() {
console.log(this.name,this.age);
}
}
var rachel = new person("Rachel Green", 50);
rachel.logAll();
【问题讨论】:
-
类的优点是更容易管理。在您的类中,您可以定义构造函数、析构函数、getter、setter,然后可以在整个应用程序中使用它们。在上面的示例中,它们是等价的,但我强烈建议使用类。
-
类更易于使用和维护,使用所谓的
this可以减轻您的痛苦。来自 vanilla javascript,出于以下几个原因,我建议您尽可能使用 classes:1) 任何其他不熟悉 javascript 的程序员都可以在您的代码中找到一点 OOP。 2)更容易维护。 3) 更容易阅读。 4) 提供与旧原型语法相同的功能。因此,总的来说,在这种特定情况下,它们都给出了相同的输出,但为了阅读和维护,尽可能使用 classes。
标签: javascript class ecmascript-6