Lógico o (||)
Resultado var = verdadero || FALSO;
Similar a la lógica y las operaciones, si hay un operando que no es un booleano, la lógica o no necesariamente devuelve un booleano; En este momento, sigue las siguientes reglas:
□ Si el primer operando es un objeto, se devuelve el primer operando.
□ Si el primer operando se evalúa en Falso, se devuelve el segundo operando.
□ Si ambos operandos son objetos, se devuelve el primer operando.
□ Si ambos operandos son nulos, devuelve nulo
□ Si ambos están indefinidos, regrese indefinido.
□ Si ambos son nan, devuelve nan
La diferencia entre "===" y "=="
Operador de igualdad (==)
El operador igual convertirá implícitamente los valores de operación y los comparará:
Si un valor de operación es booleano, se convierte en un valor numérico antes de la comparación
Si un valor de operación es una cadena y el otro valor de operación es un valor numérico, la cadena se convierte en un valor numérico a través de la función número ()
Si un valor de operación es un objeto y el otro no lo es, entonces se llama al método valuef () del objeto y el resultado se compara de acuerdo con las reglas anteriores
nulo e indefinido son iguales
Si un valor de operación es nan, la comparación igual devuelve falso
Si ambos valores de operación son objetos, compare si apuntan al mismo objeto. Si ambos operandos apuntan al mismo objeto, el operador igual devuelve verdadero, de lo contrario, devuelve falso
Los siguientes se explican por separado:
Hablemos de ===, esto es relativamente simple. Las siguientes reglas se utilizan para determinar si los dos valores === son iguales:
1. Si los tipos son diferentes, son [desiguales]
2. Si ambos son valores numéricos y son el mismo valor, entonces [igual]; (! Excepción) es, si al menos uno de ellos es nan, entonces [no es igual]. (Para determinar si un valor es nan, solo puede usar isnan () para juzgar)
3. Si ambas son cadenas y los caracteres en cada posición son los mismos, entonces [igualdad]; de lo contrario [no igual].
4. Si ambos valores son verdaderos, o ambos son falsos, entonces [igual].
5. Si ambos valores se refieren al mismo objeto o función, entonces [Igualdad]; de lo contrario [no igual].
6. Si ambos valores son nulos, o ambos indefinidos, entonces [igual].
Hablemos de ==, de acuerdo con las siguientes reglas:
1. Si los dos tipos de valor son los mismos, make === comparación.
2. Si los dos tipos de valor son diferentes, pueden ser iguales. La conversión de tipo se realiza de acuerdo con las siguientes reglas y luego se compara:
a. Si uno es nulo y el otro está indefinido, entonces [igual].
b. Si uno es una cadena y el otro es un valor numérico, convierta la cadena en un valor numérico y luego compárela.
do. Si algún valor es verdadero, conviértalo en 1 y compare; Si algún valor es falso, conviértalo a 0 y compare.
d. Si uno es un objeto y el otro es un numérico o una cadena, convierta el objeto en un valor del tipo base y luego compárelo. Convierta un objeto a un tipo básico y use su método ToString o ValueOf. La clase incorporada JS Core intentará valorar antes de ToString; La excepción es la fecha, que utiliza la conversión de tostración. Objeto central no js, digamos (es más problemático, no entiendo mucho)
mi. Cualquier otra combinación es [desigual].
Valor de expresión valor de expresión
nulo == UndefinedTruetrue == 1true
"Nan" == nanfalse $ null == 0false
falso == 0truenan! = Nantrue
En resumen, "==" solo requiere valores iguales. "===" requiere que el valor y el tipo sean iguales.
La información proviene de la programación avanzada de JavaScript, ordenada y actualizada más tarde