2010-10-20 82 views
139

我有一个包含truefalse的Javascript字符串。将字符串true/false转换为布尔值

如何在不使用eval函数的情况下将其转换为布尔值?

+5

JSON.parse( '真')将返回布尔值true和JSON.parse( '假')将返回布尔值false – 2017-01-02 07:10:56

+0

这个东西解决一切都像数字和字符串格式http://stackoverflow.com/a/42136805/5531595 – 2017-02-09 12:34:47

回答

303
var val = (string === "true"); 
+10

这工作。在'val'声明之前添加'var'可能更好。 – hotshot309 2012-01-03 20:58:16

+7

更好的三重等于=== – Vinch 2013-04-11 22:02:39

+0

如果你这样做:var string = new String('true'); var val =(string ==='true');那么val将是错误的。你需要在字符串引用上调用.toString()。如果您在原型/对字符串的此引用时这样做,则这尤其适用。 – Boushley 2013-11-26 20:53:59

12

如果您使用的是可变的结果:

result = result == "true"; 
+0

如果使用变量结果: 'result = result ===“true”;' 这里括号是不必要的,但应该检查类型和值。 – simhumileco 2017-06-29 06:22:11

22

你可以简单地有:var result = (str == "true")

+0

'result = result ===“true”;' 这里括号是不必要的,但应该检查类型和值。 – simhumileco 2017-06-29 06:20:36