【Node.js24.x】Object::inherits()メソッドの使い方
inheritsメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
inheritsメソッドは、JavaScriptの基本的なオブジェクトであるObjectのプロトタイプチェーンを利用して、あるコンストラクタ関数が別のコンストラクタ関数のプロトタイプを継承する仕組みを実行するメソッドです。Node.js環境におけるモジュール開発において、この継承メカニズムは、基底クラスの振る舞いを再利用し、新しい機能を追加するために用いられます。
具体的には、子となるコンストラクタ関数に親となるコンストラクタ関数のプロトタイプメソッドやプロパティを継承させます。これにより、子が親の機能を持ちながら、独自のメソッドやプロパティを追加できるようになります。この方法は、主にECMAScript 2015(ES6)で導入されたclass構文が普及する以前のNode.jsのコードベースで広く利用されていました。既存の古いモジュールやライブラリの内部実装を理解する上で重要な概念となります。
最新のNode.jsのアプリケーション開発では、より直感的で簡潔なclass構文を用いた継承が推奨されていますが、inheritsが基盤とするプロトタイプチェーンの理解は、JavaScriptのオブジェクト指向プログラグラミングの深い理解に繋がります。このメソッドは、コードの再利用性を高め、構造化されたプログラムを作成する上で役立ちます。
構文(syntax)
1const util = require('node:util'); 2 3// 親となるコンストラクタ関数 4function SuperConstructor() { 5 // 親の初期化処理 6} 7 8// 子となるコンストラクタ関数 9function SubConstructor() { 10 SuperConstructor.call(this); // 親コンストラクタの呼び出し 11 // 子の初期化処理 12} 13 14// SubConstructorがSuperConstructorを継承するように設定 15util.inherits(SubConstructor, SuperConstructor);
引数(parameters)
constructor, superconstructor
- constructor: 新しいクラス(子クラス)のコンストラクタ関数
- superconstructor: 継承元のクラス(親クラス)のコンストラクタ関数
戻り値(return)
Function
Object.inheritsは、指定された親クラスのプロトタイプを子クラスに継承させることで、新しいコンストラクタ関数を返します。