Logique ou (||)
var result = true || FAUX;
Semblable à la logique et aux opérations, s'il existe un opérande qui n'est pas un booléen, logique ou pas nécessairement renvoie un booléen; Pour le moment, il suit les règles suivantes:
□ Si le premier opérande est un objet, le premier opérande est retourné.
□ Si le premier opérande est évalué à False, le deuxième opérande est retourné.
□ Si les deux opérandes sont des objets, le premier opérande est retourné.
□ Si les deux opérandes sont nuls, retournez null
□ Si les deux ne sont pas définis, retournez non défini.
□ Si les deux sont nan, retourne nan
La différence entre "===" et "=="
Opérateur d'égalité (==)
L'opérateur égal convertira implicitement les valeurs de fonctionnement et les comparera:
Si une valeur d'opération est booléenne, elle est convertie en une valeur numérique avant la comparaison
Si une valeur d'opération est une chaîne et l'autre valeur de fonctionnement est une valeur numérique, la chaîne est convertie en une valeur numérique via la fonction Number ()
Si une valeur d'opération est un objet et l'autre ne l'est pas, alors la valeur de () de l'objet est appelée et le résultat est comparé en fonction des règles précédentes
nul et indéfini sont égaux
Si une valeur d'opération est nan, la comparaison égale renvoie false
Si les deux valeurs de fonctionnement sont des objets, comparez s'ils pointent vers le même objet. Si les deux opérandes pointent vers le même objet, l'opérateur égal renvoie vrai, sinon, renvoie false
Les éléments suivants sont expliqués séparément:
Parlons de ===, c'est relativement simple. Les règles suivantes sont utilisées pour déterminer si les deux valeurs === sont égales:
1. Si les types sont différents, ils sont [inégaux]
2. Si les deux sont des valeurs numériques et sont la même valeur, alors [égal]; (! Exception) est, si au moins l'un d'entre eux est nan, alors [pas égal]. (Pour déterminer si une valeur est nan, vous ne pouvez utiliser qu'Isnan () pour juger)
3. Si les deux sont des chaînes et que les caractères de chaque position sont les mêmes, alors [l'égalité]; sinon [pas égal].
4. Si les deux valeurs sont vraies, ou les deux sont fausses, alors [égal].
5. Si les deux valeurs se réfèrent au même objet ou fonction, alors [égalité]; sinon [pas égal].
6. Si les deux valeurs sont nuls, ou les deux non définies, alors [égale].
Parlons de ==, selon les règles suivantes:
1. Si les deux types de valeur sont les mêmes, make === comparaison.
2. Si les deux types de valeur sont différents, ils peuvent être égaux. La conversion de type est effectuée conformément aux règles suivantes, puis comparées:
un. Si l'un est nul et l'autre n'est pas défini, alors [égal].
né Si l'un est une chaîne et l'autre est une valeur numérique, convertissez la chaîne en valeur numérique, puis comparez-la.
c. Si une valeur est vraie, convertissez-la en 1 et comparez-la; Si une valeur est fausse, convertissez-la en 0 et comparez-la.
d. Si l'un est un objet et l'autre est numérique ou chaîne, convertissez l'objet en valeur du type de base, puis comparez-le. Convertissez un objet en un type de base et utilisez sa méthode TOSTRING ou Valeur. La classe intégrée JS Core essaiera de valoriser avant ToString; L'exception est Date, qui utilise la conversion TOSTRING. Objet NON JS Core, disons (c'est plus gênant, je ne comprends pas beaucoup)
e. Toute autre combinaison est [inégale].
Valeur d'expression Valeur d'expression
NULL == UndefinedTrueTrue == 1True
"Nan" == nanfalse $ null == 0false
Faux == 0truenan! = Nantrue
En bref, "==" ne nécessite que des valeurs égales. "===" nécessite que la valeur et le type soient égaux.
Les informations proviennent de la programmation avancée JavaScript, triée et mise à jour plus tard