📅  最后修改于: 2023-12-03 15:27:49.620000             🧑  作者: Mango
在 JavaScript 中,可以使用 typeof
操作符来获取一个值的类型。但是当想要获取实例对象所属类的时候,就需要使用 Object.prototype.toString
方法。
Object.prototype.toString
方法能够返回一个对象的类型名称,格式为 [object Type]
,其中 Type
为对象的类型名称。
const obj = new Date();
console.log(Object.prototype.toString.call(obj)); // [object Date]
需要使用 call
或者 apply
方法来改变 Object.prototype.toString
的执行上下文,使其返回当前对象的类型名称。
以下是一个封装了 Object.prototype.toString
方法的获取对象类型名称的工具函数。
function getClass(obj) {
return Object.prototype.toString.call(obj).slice(8, -1);
}
const obj = new Date();
console.log(getClass(obj)); // Date
通过调用 Object.prototype.toString.call(obj)
方法,获得了形如 [object Type]
的字符串,然后使用 .slice(8, -1)
截取了字符串中的类型名称。最终得到了当前对象的类型名称。
使用 Object.prototype.toString
方法可以兼容所有的 JavaScript 环境,包括浏览器和 Node.js 等 JavaScript 运行环境。
Object.prototype.toString
方法能够获取一个对象的类型名称。