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');
}