Node.js Object对象没有方法'hasOwnProperty'

时间:2013-05-16 10:37:25

标签: javascript node.js express

不确定为什么我的对象中似乎缺少hasOwnProperty() ...

我从expressjs3中的http帖子获取数据,如下所示:

someControllerFunction: function(req, res){
            var data = req.body.loc;
...
}

但是,如果我这样做:

data.hasOwnProperty('test'); 

我明白了:

Object object has no method 'hasOwnProperty' 

也许我错过了一些明显的东西,但又是什么?

(节点10.5,Express 3.2.1)

2 个答案:

答案 0 :(得分:40)

对象可能没有Object.prototype作为其原型。

如果使用...创建对象,则会出现这种情况。

var data = Object.create(null);

你可以使用......

Object.prototype.hasOwnProperty.call(data, 'test');

...测试该属性是否存在。

答案 1 :(得分:-1)

这个黑客对我有用:

req.body = JSON.parse(JSON.stringify(req.body));