JavaScript では、すべての関数のプロトタイプ オブジェクトにはconstructor
、関数を指す列挙不可能なプロパティがあります ( EcmaScript §13.2 )。ネイティブ機能では使用されませんが (たとえばinstanceof
、プロトタイプ チェーンのみをチェックします)、継承のために関数のプロパティを上書きする場合は調整することをお勧めします。prototype
SubClass.prototype = Object.create(SuperClass.prototype, {
constructor: {value:SubClass, writable:true, configurable:true}
});
しかし、私たち (私を含む) は、明快さと簡潔さのためだけにそれを行うのでしょうか? constructor
プロパティに依存する実際のユースケースはありますか?