English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Explicación detallada de la conversión de valores bool en js y “&&”、“||”、“!!”

Prefacio

Primero, es necesario saber que en js hay6valores que son false son: 0, '', null, undefined, NaN y false, otros (incluidos {}, [], Infinity) son true.

Se puede usar la función Boolean() o dos negaciones para obtener el valor booleano del objeto, por ejemplo, Boolean(undefined) y !!undefined también pueden obtener el valor booleano false,

Para 0, '', null, undefined, NaN, {}, [], Infinity, los valores booleanos son respectivamente false false false false false true true true.

Por lo tanto, una cosa que sabemos es que el valor booleano de un objeto es true, incluso si es objeto {}.

conversión de valores bool

tipos de datos conversión de valores bool
undefined undefined se convierte en false
Object null se convierte en false, otros se convierten en true
Boolean false se convierte en false, true se convierte en true
Number 0, NaN se convierten en false, otros se convierten en true
String "" se convierte en false, otros se convierten en true

"&&"

La regla de operación del operador && en JavaScript es la siguiente:

Si el valor de la expresión izquierda del operador && es verdadero, se devuelve el valor de la expresión derecha; de lo contrario, se devuelve el valor de la expresión izquierda. Cuando se operan varios expresiones && juntas, se devuelve el valor de la primera expresión que opera como false, si todos los resultados de las operaciones de expresiones son verdaderos, se devuelve el valor de la última expresión operada.

const aa = {'name': 'xx'};
const bb = aa && aa.age; // bb salida es undefined;
let cc;
const dd = cc && cc.name & #63; cc.name : undefined; // La salida de dd es undefined
const dd = cc && cc.name; // La salida de dd es undefined;

Los resultados de las dos líneas de código anteriores son los mismos. Siempre he estado usando este método para escribir código, pero he descubierto que algunas pruebas unitarias no alcanzan, lo que hace que la cobertura de pruebas unitarias sea muy baja. Cambiar a la siguiente manera puede resolver este problema de manera excelente, y los dos métodos tienen el mismo efecto.

"||"

Los criterios de operación del operador "||" en JavaScript son los siguientes:

Si el valor de la expresión a la izquierda de "||" es verdadero, devuelve el valor de la expresión a la izquierda; de lo contrario, devuelve el valor de la expresión a la derecha. Al operar varios expresiones "||" juntas, devuelve el valor de la expresión que resulta en true, o el valor de la expresión más a la derecha si todas las expresiones resultan en false.

const aa = false || 'xx'; // La salida de aa es 'xx' 

"!!"

"!!" realiza la conversión forzada de la expresión a valor booleano, el resultado es true o false.

const aa = 'xx';
const bb = !!aa; // La salida de bb es true
const cc = !!(NaN || undefined || null || 0 || '' ); // cc es false;

Resumen

Esto es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierta valoración de referencia para su aprendizaje o trabajo. Si tienen alguna pregunta, pueden dejar comentarios para intercambiar. Gracias por su apoyo a la tutorial de gritos.

Declaración: El contenido de este artículo se ha obtenido de la red, y los derechos de autor pertenecen a los respectivos propietarios. El contenido ha sido proporcionado por usuarios de Internet de manera autónoma y subido por ellos mismos. Este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar y proporcionar evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará también