Quel opérateur égal doit être utilisé dans les comparaisons JavaScript? == vs ===

Vous pouvez utiliser deux opérateurs différents pour vérifier l'égalité des objets. Elles sont==et===. Lequel utiliser?

En JavaScript, vous pouvez utiliser deux opérateurs différents pour vérifier l'égalité des objets. Elles sont==et===.

Ils font essentiellement la même chose, mais il y a une grande différence entre les deux.

===vérifiera l'égalité de deux valeurs. S'il s'agit d'objets, les objets doivent être du même type. JavaScript n'est pas typé, comme vous le savez, mais vous avez quelques types fondamentaux que vous devez connaître.

En particulier, nous avons des types de valeur (Boolean, null, undefined, String et Number) et des types de référence (Array, Object, Function).

Si deux valeurs ne sont pas du même type,===retournera faux.

S'ils sont du même type, JavaScript vérifiera l'égalité.

Avectypes de référence, cela signifie que les valeurs doivent référencer lemêmeobjet / tableau / fonction. Pas un avec les mêmes valeurs: le même.

==est différent car il tentera de convertir les types en correspondance.

C'est pourquoi vous obtenez des résultats comme

false == '0'  //true
false === '0' //false
null == undefined //true
null === undefined  //false

D'après mon expérience, dans 97% des cas, vous voudrez utiliser===, à moins que==fournit exactement ce que vous voulez. Il a moins d'inconvénients et de cas de bord.

Il en va de même!=et!==, qui effectuent la même chose, mais annulée.

Toujours par défaut sur!==.

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: