string to boolean
- 错误复现
var
str = '', // str为string类型
bool = true; // bool为boolean类型
str = 'false';
bool = str; // bool依然为true
bool = Boolean(str); // bool依然为true
-
原因分析
- 只要字符串不为空,那么转换成的boolean值就为true
- 只有在字符串值为空的情况下,转换成的boolean值才为false
解决方法
var
str = '', // str为string类型
bool = true; // bool为boolean类型
str = 'false';
bool = (str === 'true'); // 如果str为'false',那么bool为false