Maison  >  Article  >  interface Web  >  La différence entre javaScript "==" et "==="

La différence entre javaScript "==" et "==="

小云云
小云云original
2018-03-19 09:42:101194parcourir

HTML et PHP ont tous deux des opérateurs. Quant aux opérateurs de comparaison en JavaScript, le plus couramment utilisé est "==". Beaucoup de gens ne sont peut-être pas familiers avec "===", alors qu'est-ce qu'ils ont exactement ? différence?

=== signifie identité, compare d'abord si les types de données des variables des deux côtés sont égaux, et deuxièmement compare si les valeurs des variables des deux côtés sont égales == signifie égalité ; signifie uniquement comparer si les valeurs des variables des deux côtés sont égales.

Différence :

== Lorsque les types de valeurs des deux côtés sont différents, la conversion de type doit d'abord être effectuée, puis comparée.
==, aucune conversion de type n'est effectuée, et les types doivent être différents s'ils sont différents.

Les éléments suivants sont expliqués séparément :

Parlons d'abord de "===", c'est relativement simple. Les règles suivantes sont utilisées pour déterminer si deux valeurs​​sont === égales :

1. Si les types sont différents, ils ne sont pas égaux

2. valeurs, elles sont de la même valeur, alors [égal]; (!Exception) est que si au moins l'un d'eux est NaN, alors [pas égal]. (Pour juger si une valeur est NaN, vous ne pouvez utiliser que isNaN() pour juger)

3. Si les deux sont des chaînes et que les caractères à chaque position sont les mêmes, alors ils sont égaux ; pas égal.

4. Si les deux valeurs sont vraies ou les deux sont fausses, alors elles sont égales.

5. Si deux valeurs font référence au même objet ou fonction, elles sont égales ; sinon, elles ne sont pas égales ;

6. Si les deux valeurs sont nulles ou si les deux sont indéfinies, alors elles sont égales.
Aussi "=="
Si deux types de valeur sont différents, ils peuvent être égaux. Effectuez une conversion de type puis comparez selon les règles suivantes :

a. Si l'un est nul et l'autre indéfini, ils sont égaux.

b. Si l'une est une chaîne et l'autre est une valeur numérique, convertissez la chaîne en valeur numérique, puis comparez.

c. Si une valeur est vraie, convertissez-la en 1 et comparez ; si une valeur est fausse, convertissez-la en 0 et comparez.

d. Si l'un est un objet et l'autre est une valeur numérique ou une chaîne, convertissez l'objet en une valeur du type de base puis comparez. L'objet est converti en type de base à l'aide de sa méthode toString ou valueOf. Les classes intégrées principales de js essaieront valueOf avant toString;

e, ou toute autre combinaison, ne sera pas égale.

Résumé :

C'est-à-dire que "==" est une comparaison entre des valeurs, tandis que : "===" ne l'est pas juste C'est une comparaison entre les valeurs et une comparaison entre les types. Généralement, lorsque nous travaillons sur un projet, nous décidons lequel utiliser en fonction de différentes entreprises. La plupart des développeurs sont habitués à "==", ce qui n'est pas rigoureux. 🎜>

Recommandations associées :

Explication détaillée du mécanisme de conversion implicite du double signe égal (==) en Javascript

if et switch, = = et === Explication détaillée des différences et exemples de connexion

Utilisation de la comparaison de chaînes d'opérateurs PHP == et explication détaillée de ses effets secondaires


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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