JS字符串false转boolean问题

37 阅读1分钟

期望

借助Boolean方法, 传入'false'时, 输出false; 传入'true'时, 输出true

我们先看下实际效果 image转存失败,建议直接上传图片文件

没达到我们预期

解决方案1

使用三等来判断

   let flag1 = 'true'
   // 输出true
   console.log( flag1 === 'true')
   
   
   let flag2 = 'false'
   // 输出false
   console.log( flag2 === 'true')

解决方案2

借用test来判断

// 输出 true
/true/.test('true')

// 输出false
console.log(/true/.test('false'))


Boolean转换结果

下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。

const myBoolean=new Boolean();
const myBoolean=new Boolean(0);
const myBoolean=new Boolean(null);
const myBoolean=new Boolean("");\
// 不带单引号的是false
const myBoolean=new Boolean(false);
const myBoolean=new Boolean(NaN);

下面的所有的代码行均会创初始值为 true 的 Boolean 对象

var myBoolean=new Boolean(1);
var myBoolean=new Boolean(true);
var myBoolean=new Boolean("true");
// 带单引号的字符串false最终等于true
var myBoolean=new Boolean("false");
var myBoolean=new Boolean("Bill Gates");
var myBoolean=new Boolean({});
var myBoolean=new Boolean([]);