Maison >interface Web >js tutoriel >Notes d'étude Javascript : symbole d'égalité et symbole d'égalité stricte

Notes d'étude Javascript : symbole d'égalité et symbole d'égalité stricte

PHPz
PHPzoriginal
2016-05-16 16:30:401753parcourir

Ce chapitre présente en détail les symboles d'égalité et les symboles d'égalité stricte en JavaScript. Les amis dans le besoin peuvent s'y référer.

Javascript dispose de deux méthodes pour déterminer si deux valeurs sont égales.

Symbole d'égalité

Le symbole d'égalité est constitué de deux signes égaux : ==
Javascript est un langage faiblement typé. Cela signifie que le symbole d'égalité convertira le type afin de comparer deux valeurs.

""           ==   "0"           // false
0            ==   ""            // true
0            ==   "0"           // true
false        ==   "false"       // false
false        ==   "0"           // true
false        ==   undefined     // false
false        ==   null          // false
null         ==   undefined     // true
" \t\r\n"    ==   0             // true

Le code ci-dessus montre le résultat de la conversion de type, nous savons donc que l'utilisation du symbole d'égalité == est une mauvaise habitude de programmation. En raison du mécanisme complexe de conversion de type en Javascript, les erreurs qui en résultent deviendront difficiles à détecter.

De plus, la coercition de type aura également un certain impact sur les performances. Par exemple, lorsqu'une chaîne est comparée à un nombre, elle sera contrainte en un nombre.

Symbole d'égalité stricte

Le symbole d'égalité stricte se compose de trois signes égaux : ===
Il fonctionne de la même manière que le symbole d'égalité, mais le symbole d'égalité stricte n'effectuera pas d'opération de conversion de type forcée.

""           ===   "0"           // false
0            ===   ""            // false
0            ===   "0"           // false
false        ===   "false"       // false
false        ===   "0"           // false
false        ===   undefined     // false
false        ===   null          // false
null         ===   undefined     // false
" \t\r\n"    ===   0             // false

Le code ci-dessus rend le code plus clair Si les deux valeurs sont de types différents, false est renvoyé directement, ce qui améliorera également les performances.

Comparaison d'objets

Bien que == et === soient appelés symboles d'égalité, lorsque l'une des deux valeurs comparées est un objet, le comportement sera grande différence .

{} === {};                   // false
new String('foo') === 'foo'; // false
new Number(10) === 10;       // false
var foo = {};
foo === foo;                 // true

Ici, il ne s'agit plus seulement de comparer si les deux valeurs sont égales, il déterminera si les deux valeurs font référence à la même instance d'objet. Ce comportement s'apparente davantage à un pointeur dans. C.

Résumé

Il est fortement recommandé de n'utiliser que le symbole d'égalité stricte ===. Si nous devons effectuer une conversion de type, nous pouvons effectuer une conversion de type explicite avant la comparaison au lieu de nous fier à la méthode de conversion complexe de Javascript.

Ce qui précède représente l'intégralité du contenu de ce chapitre. Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo JavaScript !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn