在 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