ecmascript 6-Javascript中的默认构造函数
ecmascript 6 - Default constructor in Javascript
在MDN中,有人提到,如果我们不指定构造函数方法,则使用默认构造函数。
对于基类,默认构造函数是:
constructor() {}
对于派生类,默认构造函数为:
constructor(...args) {
super(...args);
}
为什么派生类默认构造函数有rest参数(…args)而基类默认构造函数没有?
在这种情况下,..args
似乎是多余的,但您应该考虑基对象不是Object
的情况。在这种情况下,用参数调用超级构造函数是完全合理的。
因此,让我们假设存在类A
和B
。A
有明确定义的构造函数,B
没有,但A
是B
的超类。在这种情况下,如果您调用new B(myArg)
,那么调用A
的constructor
是合乎逻辑的。
相关文章:
- ES6构造函数返回基类的实例
- 使用Google Visualization动态调用构造函数
- javascript中对象构造函数中的var属性与this.properties
- 理解typescript中的构造函数接口
- 为什么构造函数不是构造函数
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 拦截对构造函数的调用
- 使用闭包共享构造函数参数
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- 从js引擎的角度来看闭包和构造函数是如何工作的
- 如何使用此从对象访问构造函数
- Javascript:为什么是构造函数's __proto__属性Empty(){}
- 当一个重要的构造函数参数丢失时应该发生什么
- 具有默认参数值的 ES6 类构造函数上的 NodeJS 错误
- 使用默认值定义构造函数.我这样做对吗?
- 是否可以在JS对象中添加一个默认函数(构造函数)
- Javascript继承调用parent's的非默认构造函数
- 类构造函数angular 2的默认数组值
- 即使当前时间是标准时间,Javascript日期构造函数也默认为夏令时
- ecmascript 6-Javascript中的默认构造函数