我对ES7中的一个语法感到困惑。我将类定义为:
class Employee2 {
Ename = "Rahul";
printName = () => {
console.log(this.Ename);
}
}由于类是现有原型概念的语法糖,所以我预计方法'printName‘实际上会转到函数原型中。但是没有发生这种情况,该方法是一个对象属性。
但是,如果我这样做了:
class Employee {
Ename = "Rahul";
printName () {
console.log(this.Ename);
}
}在printName到达原型的地方,这一功能与预期的一样。现在是我的查询:
ES7建议使用第一个代码Employee2类中的语法,如果我使用该语法,就会忽略原型上的方法定义。在功能原型上有实现方法吗?
发布于 2019-09-27 11:54:36
ES7建议使用第一个代码Employee2类中的语法。
不是的。在适当的情况下使用。我会尽可能多地使用第二个版本。第一个版本几乎等于:
function Employee2() {
this.Ename = "Rahul";
this.printName = () => {
console.log(this.Ename);
};
}https://stackoverflow.com/questions/58134006
复制相似问题