在 JavaScript 中獲取類的名稱

Aryan Tyagi 2023年1月30日 2021年10月2日
  1. 使用 instanceof 運算子獲取 JavaScript 中的類的名稱
  2. 在 JavaScript 中使用 name 屬性來獲取類的名稱
在 JavaScript 中獲取類的名稱

在 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