クラスをconstructorで調べる

javascript

概要

オブジェクトのクラスを判定する方法として、constructorを使って調べてみます。

以下、サンプルコードを書きます。

//テスト用クラス1
function Testclass(a)
{
	console.log(a.constructor);
}
//オブジェクト1を生成
let testobj = new Testclass("10");

//テスト用クラス2
function Testclass2(a)
{
	console.log(a.constructor);
}
//オブジェクト2を生成
let testobj2 = new Testclass2(20);

出力結果は次のようになります。(出力形式は実行環境により異なります、ここではfirefoxを例に実行しています)

テスト用クラス1の出力と

String()
fromCharCode: function fromCharCode()
fromCodePoint: function fromCodePoint()
length: 1
name: "String"
prototype: String { "" }
raw: function raw()
<prototype>: function ()

上記の出力結果は、引数がStringクラスのオブジェクトということを表しています。

テスト用クラス2の出力

Number()
EPSILON: 2.220446049250313e-16
MAX_SAFE_INTEGER: 9007199254740991
MAX_VALUE: 1.7976931348623157e+308
MIN_SAFE_INTEGER: -9007199254740991
MIN_VALUE: 5e-324
NEGATIVE_INFINITY: -Infinity
NaN: NaN
POSITIVE_INFINITY: Infinity
isFinite: function isFinite()
isInteger: function isInteger()
isNaN: function isNaN()
isSafeInteger: function isSafeInteger()
length: 1
name: "Number"
parseFloat: function parseFloat()
parseInt: function parseInt()
prototype: Number { 0 }
<prototype>: function ()

上記の出力結果は、日k氏ううがNumberクラスのオブジェクトを表しています。

上記の動作から、オブジェクトを生成する時の、引数に指定した値に対し、constructorプロパティを参照できることがわかります。

また、constructorプロパティは、オブジェクト生成時の引数に対してコンストラクタ関数を参照することができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です