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

时间:2013-07-02 07:26:03

标签: javascript web

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

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

我错过了什么?

5 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

应该是;

typeof obj === 'object'

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

答案 3 :(得分:0)

'[object Object]' == Object.prototype.toString.call(obj)

答案 4 :(得分:0)

最好的方法是使用instanceOfbest practice

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