Saltar al contenido

Es un string de espacio en blanco verdadero o falso en JavaScript?

Siéntete libre de divulgar nuestra página y códigos con otro, necesitamos tu ayuda para hacer crecer nuestra comunidad.

Solución:

los string ' ' es un valor de “veracidad”.

Aquí hay una lista de los valores “falsos”:

false
null
undefined
0
NaN
''

Tienes que entender que “verdad” no es lo mismo que true. Un valor puede ser “veraz” sin ser true. Por ejemplo, si hiciéramos 5 == trueobtendríamos falseaunque 5 es un valor de “veracidad”.

En general, casi todos los valores son “verdaderos” (excluyendo los mencionados anteriormente). Pero, la forma más fácil de verificar si algo es “verdadero”/”falso” es haciendo algo como esto:

var value = valueToTest;

if (value) 
  console.log('Truthy!');
 else 
  console.log('Falsy!');

Es un string de espacios en blanco ¿verdadero o falso?

Es cierto, como otros indicaron. Sin embargo, su comparación

' ' == true

es no comprobando si ' ' es veraz Está comparando dos valores, que es algo diferente y usa reglas de comparación específicas. La especificación JS es que cualquier == la comparación con un booleano primero fuerza el booleano a un número:

Si Type(y) es booleano, devuelve el resultado de la comparación x == ToNumber(y).

Entonces tu código es equivalente a

' ' == Number(true)

que es lo mismo que

' ' == 1

A continuación, para comparar un string y un número, JS convierte el string a un número Nuevamente, citando la especificación:

Si Tipo(x) es Cadena y Tipo(y) es Número, devuelva el resultado de la comparación ToNumber(x) == y.

Así que ahora tenemos

Number(' ') == 1

Number(' ') es 0. La especificación dice:

El MV de StringNumericLiteral ::: StrWhiteSpace es 0.

Así que esto se convierte

0 == 1

que, como has descubierto, es false. Consulte http://ecma262-5.com/ELS5_HTML.htm#Section_11.9.3 para obtener detalles.

Como otras respuestas han explicado que no son iguales (==) para true no es lo mismo que ser falso. Falso es un concepto diferente, que significa aproximadamente el valor al que se fuerza una expresión cuando se requiere un booleano (como la condición de un if declaración) es false.

valoraciones y reseñas

Agradecemos que desees animar nuestra función poniendo un comentario y dejando una valoración te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *