В моем приложении Node.js Express, когда пользователь вошел в систему по паспорту, пользовательский объект пользователя сохраняется в запросе.
Это выглядит примерно так:
{
"uuid": "caa5cb58-ef92-4de5-a419-ef1478b05dad",
"first_name": "Sam",
"last_name": "Smith",
"email": "sam@email.com",
"password": "$2a$10$fXYBeoK6s.A8xo2Yfgx4feTLRXpdvaCykZxr7hErKaZDAVeplk.WG",
"profile_uuid": "db172902-f3c9-456d-8814-53d07d4ea954",
"isActive": true,
"deactivate": false,
"verified": true,
"ProviderUuid": "7149f8f1-0208-41db-a78e-887e7811a169"
}
Но не у каждого пользователя есть ключ ProviderUuid.Поэтому перед использованием его значения я пытаюсь проверить, присутствует ли в пользовательском объекте ключ ProviderUuid
var user = req.user;
console.log('---- provider: ' + JSON.stringify(user));
console.log('--- prop: ' + user.hasOwnProperty('ProviderUuid')); //returns false
console.log('---- other method prop check: ' + Object.prototype.hasOwnProperty.call(user, "ProviderUuid")); //returns false
if('ProviderUuid' in user){
//this returns true
}
Так что user.hasOwnProperty('ProviderUuid'
) и Object.prototype.hasOwnProperty.call(user, "ProviderUuid"))
возвращает false, однако 'ProviderUuid' in user
возвращает true.
Что мне здесь не хватает?