字符串的'false'转化为布尔值的false
大家都知道在JS的世界里, 0、-0、null、””、false、undefined 或 NaN,这些都可以自动转化为布尔的 false,那么字符串的”false”是不是false呢,答案是否定的,if(“false”) 来判断的话,是等于true的。
“false”的布尔值是true,那么怎么把false的字符串变成false的布尔值呢?
w3c解释如下:
最后,转换方法如下:
1、1
2var value = 'false';
var flag = value === 'false' ? false : true;
2、1
2
3
4String.prototype.bool = function() {
return (/^true$/i).test(this);
};
console.log("false".bool()); // false