在 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