在 JavaScript 中获取类的名称
Aryan Tyagi
2023年10月12日
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
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe