据我了解:ES6类基本上是构造函数,对吧?
当然有了不必写这样的东西的好处:
myFunction.prototype.myInheritablemethod= "someMethod";
这是对的吗?
我问,因为我知道有模块模式和揭示模块模式,但那些不是ES6类的,对吧?
答案 0 :(得分:3)
引入类以围绕现有的JavaScript原型继承模型提供语法糖。以下......
class Example {
constructor(a, b) {
this.a = a;
this.b = b;
}
add() {
return this.a + this.b;
}
}
...基本上等同于:
function Example(a, b) {
this.a = a;
this.b = b;
}
Example.prototype.add = function() {
return this.a + this.b;
};
class
语法及其提供的其他位(如extends
和static
)使得编写处理继承的代码变得更加容易和清晰。但是,由于现有技术只是糖,因此您可能首先要正确理解ES6之前的继承。