Tengo tres variables, variation , attribute y active para las cuales necesito crear una declaración if para la siguiente tabla de verdad:
| variación | atributo | activo | Resultado |
|---|---|---|---|
| [objeto Objeto] | 'color' | verdadero | CIERTO |
| indefinido | indefinido | indefinido | CIERTO |
| [objeto Objeto] | 'color' | falso | FALSO |
Pero no puedo pensar en una declaración inteligente y compacta para el caso, a menos que escriba todos los escenarios true deseados en una declaración larga or separada...
¿Puede alguien por favor ayudarme con esto?
Aquí hay un violín rápido para ti.
TIA.
Puede negar todos los valores a booleanos y verificar si todos son iguales:
!variation == !attribute && !attribute == !activeLos valores en JavaScript pueden ser verdaderos o falsos .
Entonces, cuando coloca el operador lógico NOT ( ! ) Antes de un valor, lo niega de manera efectiva, lo que significa que todos los valores verdaderos se convierten en el booleano false y todos los valores falsos se convierten en el booleano true .
Su tabla de verdad parece devolver verdadero cuando todas las variables son verdaderas o cuando todas las variables son falsas, y devuelve falso cuando se mezclan.
Entonces, esencialmente verifica que todos los valores, cuando se convierten en booleanos, sean iguales. Entonces, la condición anterior convierte los valores en booleanos opuestos y verifica que sean todos iguales.