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)
Ответы
Ответ 1
Объект может не иметь Object.prototype
в качестве своего прототипа.
Это тот случай, если объект был создан с...
var data = Object.create(null);
Вы можете использовать...
Object.prototype.hasOwnProperty.call(data, 'test');
... проверить, существует ли свойство.
Ответ 2
Этот хак работает для меня:
req.body = JSON.parse(JSON.stringify(req.body));