【JavaScript ECMAScript】Object::Object.prototype.isPrototypeOfインスタンスメソッドの使い方
Object.prototype.isPrototypeOf()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Object.prototype.isPrototypeOf()メソッドは、あるオブジェクトが別のオブジェクトのプロトタイプチェーン上に存在するかどうかを判定するメソッドです。
このメソッドは、呼び出し元のオブジェクトが、引数として渡されたオブジェクトのプロトタイプチェーンのどこかに存在するかどうかを調べます。具体的には、引数として与えられたオブジェクト自身のプロトタイプから始まり、そのプロトタイプのプロトタイプ、さらにその先へと順に辿っていきます。もしこの探索の過程で呼び出し元のオブジェクトと一致するものが見つかればtrueを返し、プロトタイプチェーンの終端まで辿っても一致するオブジェクトが見つからない場合はfalseを返します。
JavaScriptにおけるプロトタイプチェーンとは、オブジェクトが他のオブジェクトのプロパティやメソッドを継承するための基本的な仕組みであり、オブジェクト指向プログラミングにおいて重要な概念です。isPrototypeOf()メソッドを利用することで、オブジェクトがどの原型(プロトタイプ)から派生しているか、または特定のオブジェクトが別のオブジェクトの親であるかといった、オブジェクト間の継承関係をプログラム上で正確に確認することができます。
この機能は、特にアプリケーション内でオブジェクトの型を検証したり、特定の機能が期待されるオブジェクトに存在するかどうかを判断したりする際に非常に有用です。例えば、特定のクラスのインスタンスであるかを確認する場合や、オブジェクトの継承階層をデバッグする際に役立ちます。これにより、オブジェクトの複雑な構造を理解し、適切に処理するための堅牢なコードを記述できるようになります。
構文(syntax)
1const prototypeObject = {}; 2const instanceObject = Object.create(prototypeObject); 3 4// prototypeObject が instanceObject のプロトタイプチェーン上にあるか確認 5console.log(prototypeObject.isPrototypeOf(instanceObject));
引数(parameters)
otherObject
- otherObject: object: 参照元オブジェクトのプロトタイプチェーン上に存在するかどうかをチェックする対象のオブジェクト
戻り値(return)
boolean
指定されたオブジェクトが、呼び出し元のオブジェクトのプロトタイプチェーン上に存在するかどうかを示す真偽値を返します。