Object.prototype.constructor

編集

Object.prototype.constructor() は、オブジェクトを作成したコンストラクタ関数への参照を返すプロパティです。すべてのオブジェクトは、自身の constructor プロパティを通じてそのオブジェクトを生成したコンストラクタにアクセスできます。

構文

編集
obj.constructor

説明

編集
  • オブジェクトを生成する際、プロトタイプチェーンを通じてそのオブジェクトの constructor プロパティが設定されます。
  • 通常、constructor プロパティはオブジェクトが生成されたコンストラクタ関数を指します。
  • カスタムプロトタイプを設定した場合、constructor プロパティが期待する値を指していないことがあるため、注意が必要です。

=== 使用例 === 以下の例は constructor プロパティの動作を示します:

// 通常のオブジェクトの場合
const obj = {};
console.log(obj.constructor); // [Function: Object]

// カスタムクラスの場合
class MyClass {}
const myInstance = new MyClass();
console.log(myInstance.constructor); // [Function: MyClass]

// プロトタイプの変更
function MyConstructor() {}
MyConstructor.prototype = {};
const instance = new MyConstructor();
console.log(instance.constructor); // [Function: Object]

注意点

編集
  • プロトタイプを直接変更した場合、constructor プロパティが適切に設定されないことがあります。その場合、明示的に constructor プロパティを再設定する必要があります。
  • constructor プロパティは開発時のデバッグや型チェックに役立ちますが、厳密な型判定には向いていません。

関連項目

編集

参考

編集