字符串"false"转换为布尔值false
问题
在项目中遇到字符串“false”写在if('false')中仍为true问题
var myBoolean=new Boolean();
//下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。
var myBoolean=new Boolean();
var myBoolean=new Boolean(0);
var myBoolean=new Boolean(null);
var myBoolean=new Boolean("");
var myBoolean=new Boolean(false);//不带单引号的是false
var myBoolean=new Boolean(NaN);
//下面的所有的代码行均会创初始值为 true 的 Boolean 对象:
var myBoolean=new Boolean(1);
var myBoolean=new Boolean(true);
var myBoolean=new Boolean("true");
var myBoolean=new Boolean("false");//带单引号的字符串false最终等于true
var myBoolean=new Boolean("Bill Gates");
解决
JSON.parese()
JSON.parse('false') // false
JSON.parse('true') //true
但此方法存在问题,当传人其他字符串时会报错,像这样JSON.parse('fales')
三元运算符
const bool: boolean = 'false' !== 'false';
// false
const bool: boolean = 'true' !== 'false';
// true