【发布时间】:2018-05-28 12:47:42
【问题描述】:
是的,有很多方法可以创建和使用对象。那么为什么/什么时候创建一个构造函数而不是声明一个类并使用 constructor() 方法呢?我的导师说这没有什么区别,但我不相信他。
// 1
function Grumpy(name, profile, power){
this.name = name;
this.profile = profile;
this.power = power;
}
对比
// 2
class Grumpy{
constructor(name, profile, power){
this.name = name;
this.profile = profile;
this.power = power;
}
}
【问题讨论】:
-
类语法只是语法糖。在 javascript 引擎中,类变成了构造函数语法。所以你的导师是对的。因此,在两者之间做出决定更多的是偏好情况,您的团队使用什么以及您必须支持哪些浏览器。
-
一个很好的理由,恕我直言,当在多个代码编辑器中使用时,javascript 类通常比构造函数提供更好的智能感知体验。
-
许多 JS 增强或“扩展” JS 的 JS 语言都是语法糖。这并不意味着在实践中使用其中一个没有区别。副本中的答案解决了这个问题。
标签: javascript class javascript-objects