JavaScript でクラス名を取得する
Aryan Tyagi
2023年10月12日
JavaScript では、クラスの名前を時々取得する必要がある場合があります。これは、クラス名を識別子として使用する場合、またはデバッグメッセージに使用する場合に役立ちます。
JavaScript では、Java はクラスベースの言語であるのに対し、JavaScript はプロトタイプベースの言語であるため、Java の getClass()
関数に相当するものはありません。
このチュートリアルでは、JavaScript でクラス名を取得します。
JavaScript で instanceof
演算子を使用してクラス名を取得する
instanceof
演算子はクラス名を直接指定しませんが、コンストラクターのプロトタイププロパティがオブジェクトのプロトタイプチェーンのどこかにあるかどうかを確認できます。
例えば、
function Test() {}
let test = new Test();
console.log(test instanceof Test);
出力:
true
上記の例では、test
は Test
に属しているため、true
が返されます。
JavaScript で name
プロパティを使用してクラス名を取得する
オブジェクトのコンストラクターの name
プロパティを使用して、JavaScript のクラス名を知ることができます。このようにして、オブジェクトをインスタンス化したクラスの名前を取得します。
例えば、
function Test() {}
let test = new Test();
console.log(test.constructor.name);
console.log(Test.name);
出力:
Test
Test
JavaScript で typeof
演算子を使用してクラス名を取得する
typeof
演算子は、オペランドのタイプを示す文字列を返します。
例えば、
function Test() {}
let test = new Test();
console.log(typeof Test);
console.log(typeof test);
出力:
function
object
JavaScript で isPrototypeOf()
関数を使用してクラス名を取得する
関数 isPrototypeOf()
関数は、オブジェクトが別のオブジェクトのプロトタイプであるかどうかを判別します。まず、オブジェクトの prototype
プロパティを使用する必要があります。
次の例を参照してください。
function Test() {}
let test = new Test();
console.log(Test.prototype.isPrototypeOf(test));
出力:
true