Undefined, typeof undefined, hasOwnProperty

Prendre cet extrait,

var a = {

}

if(typeof a.c === 'undefined'){
 console.log('inside if');
}
if(a.c === undefined){
 console.log('inside if');
}

Les deux if résultats dans true. Quelle est la différence dans les deux déclarations spécifiques à certains navigateurs?

Aussi, dans mon dernier projet, j'ai déjà utilisé typeof a.c == 'undefined' de nombreuses fois afin de vérifier les valeurs dans json de données.

Maintenant, je sais que ce n'est pas de la bonne manière, comme certains de la valeur peut être undefined trop, donc ma logique échoue.

Je devrais avoir utilisé hasOwnProperty .

Mais je suis sûr qu'aucune valeur ne sera undefined , puis-je utiliser typeof a.c == 'undefined' en place de hasOwnProperty ou dois-je changer tous mes typeof avec hasOwnProperty

source d'informationauteur Jashwant