Entendiendo JavaScript Verdadero y Falso

4 minutos de lectura

Entendiendo JavaScript Verdadero y Falso
tonyf

¿Puede alguien explicar JavaScript Verdadero y Falso, utilizando los datos de muestra a continuación? He leído otros hilos pero sigo confundido.

var a = 0;

var a = 10 == 5;

var a = 1; 

var a = -1;

A mi entender, creo que var a = 1; es el único verdadero y el resto son falsos, ¿es correcto?

  • El posible duplicado de los resultados de “verdad” y “falsedad” es confuso en JavaScript

    – David Newton

    29 de febrero de 2016 a las 14:51

1646749093 812 Entendiendo JavaScript Verdadero y Falso
Tushar

A mi entender, creo que var a = 1; es el único verdadero y el resto son falsos, ¿es correcto?

No.

  1. var a = 0;

    el numero cero es falso. Sin embargo, tenga en cuenta que la cadena cero "0" es veraz

  2. var a = 10 == 5;

    esto es lo mismo que var a = (10 == 5);entonces esto es falso.

  3. var a = 1;

    var a = -1;

    Cualquier número distinto de cero, incluidos los números negativos, es veraz.

citando de MDN

En JavaScript, un veraz valor es un valor que se traduce en cierto cuando se evalúa en un contexto booleano. Todos los valores son veraz a menos que se definan como falso (es decir, a excepción de false, 0, "", null, undefinedy NaN).

Lista de valores falsos en JavaScript:Desde MDN

  1. false
  2. null
  3. undefined
  4. 0
  5. NaN
  6. '', "", ``(Cadena de plantilla vacía)
  7. document.all
  8. 0n: Empezando
  9. -0

  • ¿Por qué diablos es document.all falso??

    – claudio

    26 de febrero de 2016 a las 4:24

  • @Claudiu document.all se ha utilizado para la detección del navegador en el pasado y la especificación HTML define una violación deliberada del estándar ECMAScript aquí para mantener la compatibilidad con el código heredado (if (document.all) { // Internet Explorer code here } o usando document.all sin comprobar su presencia primero: document.all.foo).

    – Tushar

    26 de febrero de 2016 a las 4:25


  • @Tushar: Eso es maravillosamente… brillante y horrible al mismo tiempo.

    – claudio

    26 de febrero de 2016 a las 4:52

  • Hablando de engaños, estoy bastante seguro de que este también está cubierto 🙂

    – David Newton

    29 de febrero de 2016 a las 14:51

  • Hola @DaveNewton, Otras condiciones excepto var a = 10 == 5; están definitivamente cubiertos en el tan engañado. Por lo tanto, la OMI no debe cerrarse como un tonto.

    – Tushar

    29 de febrero de 2016 a las 14:59

1646749095 139 Entendiendo JavaScript Verdadero y Falso
claudio

Hay una manera simple de verificar, que puede usar ahora y para siempre:

function truthyOrFalsy(a) {
    return a ? "truthy" : "falsy";
}

Esto es:

> truthyOrFalsy(0)
"falsy"
> truthyOrFalsy(10 == 5)
"falsy"
> truthyOrFalsy(1)
"truthy"
> truthyOrFalsy(-1)
"truthy"

También vea una lista de todos los valores falsos en JavaScript.

1644163270 935 Jenkins Complemento HTML Publisher No se muestra CSS
bajrán

Veraz -> Valor que se resuelve como verdadero en contexto booleano

Falso -> Valor que se resuelve en falso en contexto booleano

Para una mejor comprensión, los valores `falsos` se dan a continuación.

  1. false
  2. 0
  3. empty string
  4. null
  5. undefined
  6. NaN

FALSO

  • falso
  • 0 (cero)
  • “”, ”, “ (cadenas vacías)
  • nulo
  • indefinido
  • NaN (no es un número)

nota: matriz vacía ([]) no es falso

VERDAD

  • Todo lo que no es FALSO

La siguiente respuesta podría ayudar a alguien.

Además de un tipo, cada valor también tiene un valor booleano inherente, generalmente conocido como verdadero o falso. Algunas de las reglas son un poco extrañas, por lo que comprender los conceptos y el efecto en la comparación ayuda a la hora de depurar aplicaciones de JavaScript.

Los siguientes valores son siempre falsos:

  • falso
  • 0 (cero)
  • -0 (menos cero)
  • 0n (Entero grande cero)
  • ”, “”, “ (cadena vacía)
  • nulo
  • indefinido
  • Yaya

Todo lo demás es verídico. Eso incluye:

  • ‘0’ (una cadena que contiene un solo cero)
  • ‘falso’ (una cadena que contiene el texto “falso”)
  • [] (una matriz vacía)
  • {} (un objeto vacío)
  • function(){} (una función “vacía”)

Por lo tanto, se puede utilizar un solo valor dentro de las condiciones. Por ejemplo:

if (value) { // value is truthy } else { // value is falsy // it could be false, 0, '', null, undefined or NaN }

1646749096 505 Entendiendo JavaScript Verdadero y Falso
SilverNak

En JavaScript, && y || no siempre producen un valor booleano. Ambos operadores siempre devuelven el valor de una de sus expresiones de operandos. Usando la doble negación !! o la Boolean función, los valores “veraz” y “falso” se pueden convertir en valores booleanos adecuados.

true && true =>
true

true && false =>
false

true && 'rahul626'=>
"rahul626"

true && 'i am testing Truthy' && ' upvote it'=>
" upvote it"

Probar, probado en consola

Bien descrito aquí

Entendiendo JavaScript Verdadero y Falso
ktp

una versión de verificación más:

function truthyOrFalsy(a) {
    return (a && "truthy") || "falsy";
}

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad