25

hasOwnProperty()オブジェクトから欠落しているように見える理由がわかりません...

次のように、expressjs3 の http 投稿からデータを取得しています。

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

しかし、もしそうなら:

data.hasOwnProperty('test'); 

私は得る:

Object object has no method 'hasOwnProperty' 

おそらく私は明らかな何かを見逃していますが、何ですか?

(ノード 10.5、エクスプレス 3.2.1)

4

2 に答える 2

46

オブジェクトはObject.prototypeプロトタイプとして持っていない可能性があります。

これは、オブジェクトが...で作成された場合に当てはまります。

var data = Object.create(null);

あなたが使用することができます...

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

...プロパティが存在するかどうかをテストします。

于 2013-05-16T10:39:20.283 に答える
-1

このハックは私のために働きます:

req.body = JSON.parse(JSON.stringify(req.body));
于 2013-07-24T09:00:17.800 に答える