[一个有趣的问题]判断一个对象是否为Promise对象

881 阅读1分钟

先看小右老师是怎么做的

判断对象是否有thencatch方法 image.png

还有其他做法么

可以借用最原始的toString方法

image.png

有趣的原型方法

Object.prototype.toString.call(new RegExp())
"[object RegExp]"
Object.prototype.toString.call(new Date())
"[object Date]"
Object.prototype.toString.call(new String())
"[object String]"
Object.prototype.toString.call(new Number())
"[object Number]"
Object.prototype.toString.call(Math)
"[object Math]"
Object.prototype.toString.call(new Error())
"[object Error]"
Object.prototype.toString.call(Symbol())
"[object Symbol]"
Object.prototype.toString.call('')
"[object String]"
Object.prototype.toString.call(0)
"[object Number]"
Object.prototype.toString.call(/^1$/)
"[object RegExp]"
Object.prototype.toString.call(new Boolean())
"[object Boolean]"
Object.prototype.toString.call(true)
"[object Boolean]"