在JavaScript中,每个函数的原型对象都有一个constructor指向该函数的不可枚举的属性(EcmaScript§13.2)。它未在任何本机功能中使用(例如,instanceof仅检查原型链),但是我们建议在覆盖prototype用于继承的功能的属性时对其进行调整:
SubClass.prototype = Object.create(SuperClass.prototype, {
constructor: {value:SubClass, writable:true, configurable:true}
});
但是,我们(包括我在内)是否只是为了清楚和整洁?是否存在依赖于该constructor属性的实际用例?
相关分类