如何使用 Object.prototype.toString 检查自定义对象?

在javascript中, 如果过我们要对某一个对象判断类型,通过会使用以下方法:

const array = []
const srt = Object.prototype.toString.call(array)
console.log(str)

输出的值是:[object Array]

现在我有一个类

class A {

}
const a = new A()
const srt = Object.prototype.toString.call(a)
console.log(str)

输出的结果是: [object Object]

即使我重写了实例的toString方法和原型上的toString方法,结果仍然是[object Object]

class A {
    
    toString() {
        return '[object A]'
    }
}
A.prototype.toString = function() {
    return '[object A]'
}

我想得到结果 [object A], 要怎么办呢?

阅读 2.4k
1 个回答
class A {
        get [Symbol.toStringTag]() {
            return 'A'
        }
    }
    console.log(Object.prototype.toString.call(new A()));
推荐问题