2

我正在尝试检查变量是否是这样的对象:

if(obj && typeof obj === Object) {
    console.log('obj is an object and does not return null value');
}

我错过了什么?

4

5 回答 5

5

typeof 返回该类型的字符串表示形式,但如果要检查 null 则

if(typeof obj === 'object' && obj !== null) {
    console.log('obj is an object and does not return null value');
}
于 2013-07-02T07:26:56.847 回答
0

您的代码很好,只需将 Object 替换为“object”字符串 :)

于 2013-07-02T07:26:56.847 回答
0

它应该是;

typeof obj === 'object'

运算符使用typeof字符串作为标识符。您可以在 MDN 上阅读有关它的更多信息。

于 2013-07-02T07:27:09.893 回答
0

最好的方法是使用instanceOf最佳实践

if(obj instanceof Object) {
    console.log('obj is an object and does not return null value');
}
于 2013-07-02T07:29:32.913 回答
0
'[object Object]' == Object.prototype.toString.call(obj)
于 2013-07-02T07:27:53.273 回答