Búsqueda de sitios web

typescript - Boolean('false') devuelve true


¿Hay alguna manera de pasar un valor string al constructor Boolean de TypeScript y obtener algo distinto de true?

Estas dos llamadas siempre devuelven true donde esperaría false:

const trueOrFalse = Boolean('false')
console.log(trueOrFalse) // true

const trueOrFalse2 = Boolean('0')
console.log(trueOrFalse2) // true

Campo de Juegos TS

Respuesta #1

¿Aceptarías una cadena vacía?

console.log(Boolean('')); // false

Respuesta #2

Creo que la llamada a la función Boolean() devuelve un objeto con un método valueOf(), que puedes usar para obtener el valor real.

Intenta :

Boolean('false').valueOf()

(No puedo probarlo porque estoy escribiendo esto en mi teléfono)

Artículo útil: http://adripofjavascript.com/blog/drips/the-difference-between-boolean-objects-and-boolean-primitives-in-javascript.html

Artículos relacionados