Si j'ai un objet qui a une propriété que peut ou non exister, est-il un moyen privilégié pour vérifier sa existence?moyen privilégié pour vérifier la propriété d'objet est `` null` ou undefined`
// Good?
(someObj.property !== undefined && someObj.property !== null)
// Better?
(typeof someObj.property !== 'undefined')
// Best?
(someObj.property != null)
* Le dernier opérateur !=
est on purpose:
contrôles d'égalité stricte (
===
) doivent être utilisés en faveur des contrôles à l'égalité abstraite (==
). La seule exception est lors de la vérification pourundefined
etnull
au moyen denull
. L'utilisation de== null
est également acceptable dans les cas où un seul parminull
ouundefined
peut être rencontré de manière logique, comme des variables non initialisées.
Le premier et le dernier sont équivalents. Celui du milieu ne vérifie pas les valeurs 'null'. Donc d'abord cela dépend de ce que vous voulez. Ensuite, cela dépend de combien vous voulez taper;) Utiliser ou non '! = Null' est une préférence personnelle. –
si (someObj.property) pour tout sauf les booléens? –
@Jonasw: Et les chaînes vides, '0',' NaN'. –