Boolean('false')返回true

时间:2019-07-10 19:34:17

标签: typescript

是否有一种方法可以将string值传递给TypeScript Boolean构造函数,并获得除true以外的任何值?

这两个调用总是返回true,在我期望的位置false

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

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

TS Playground

2 个答案:

答案 0 :(得分:3)

您会接受一个空字符串吗?

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

答案 1 :(得分:0)

我相信Boolean()函数调用会返回一个带有valueOf()方法的对象,您可以使用该方法获取实际值。

尝试:

Boolean('false').valueOf()

(我无法尝试,因为我正在手机上键入此内容)

有用的文章:http://adripofjavascript.com/blog/drips/the-difference-between-boolean-objects-and-boolean-primitives-in-javascript.html