在 JavaScript 中獲取類的名稱
Aryan Tyagi
2023年1月30日
2021年10月2日
在 JavaScript 中,你可能需要不時獲取類的名稱。這在使用類的名稱作為識別符號或除錯訊息時很有用。
在 JavaScript 中,沒有等同於 Java 的 getClass()
函式,因為 Java 是基於類的語言,而 JavaScript 是基於原型的語言。
在本教程中,我們將在 JavaScript 中獲取類的名稱。
使用 instanceof
運算子獲取 JavaScript 中的類的名稱
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