Javascript JS-是否可以检查变量是否为对象?

Javascript JS-是否可以检查变量是否为对象?,javascript,web,Javascript,Web,我试图检查变量是否是这样的对象: if(obj && typeof obj === Object) { console.log('obj is an object and does not return null value'); } 我缺少什么?您的代码很好,只需将Object替换为“Object”字符串:)typeof返回该类型的字符串表示形式,但如果要检查null,则 if(typeof obj === 'object' && obj !== nu

我试图检查变量是否是这样的对象:

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

我缺少什么?

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

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

if(typeof obj === 'object' && obj !== null) {
    console.log('obj is an object and does not return null value');
}
应该是,

typeof obj === 'object'

typeof
运算符使用字符串作为标识符。您可以阅读更多信息。

最好的方法是使用
instanceOf


@乔纳坦·沙哈尔:为什么要使用typeof并检查null。最佳实践是使用本书中的instanceof::注意,对于
Array
s,这也将返回
true
。如果要严格检查它是否是
对象
,可以使用
'[Object Object]==Object.prototype.toString.call(o)
'[object Object]' == Object.prototype.toString.call(obj)
if(obj instanceof Object) {
    console.log('obj is an object and does not return null value');
}