如何在JavaScript中正确地将字符串转换为布尔值?
大家好!我刚开始学习JavaScript,遇到了一个问题。我有一个从服务器或表单传来的字符串,它可能是`"true"`或`"false"`。我需要将其转换为真正的布尔值`true`或`false`,以便在条件中使用。
我试过这样的代码:
```javascript
let str = "false";
let bool = Boolean(str);
console.log(bool); // 输出 true
```
但`Boolean("false")`返回`true`!这让我很困惑。我以为字符串`"false"`应该变成`false`。我还试了双重否定:
```javascript
let str = "false";
let bool = !!str;
console.log(bool); // 也是 true
```
这也不管用。我明白空字符串`""`会得到`false`,而任何非空字符串都是`true`。但我需要字符串`"false"`(即这个词本身)变成`false`,而`"true"`变成`true`。如何正确实现?JavaScript有内置方法吗?还是需要自己写函数?感谢详细解释。