Подтвердить что ты не робот

Node.js Объектный объект не имеет метода 'hasOwnProperty'

Не знаю, почему hasOwnProperty(), кажется, отсутствует в моем объекте...

Я получаю данные с http-сообщения в expressjs3, например:

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

Однако, если я это сделаю:

data.hasOwnProperty('test'); 

Я получаю:

Object object has no method 'hasOwnProperty' 

Возможно, мне не хватает чего-то очевидного, но что?

(Node 10.5, Экспресс 3.2.1)

4b9b3361

Ответ 1

Объект может не иметь Object.prototype в качестве своего прототипа.

Это тот случай, если объект был создан с...

var data = Object.create(null);

Вы можете использовать...

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

... проверить, существует ли свойство.

Ответ 2

Этот хак работает для меня:

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