Js 简化代码的基础上解决后台返回字符串类型的Boolean值导致判断错误的问题

正常情况 我们js判断Boolean值可以直接这样写

let mint = false;
if(mint){
  console.log("条件为 true");
}else{
  console.log("条件为 false");
}

在这里插入图片描述
没有任何问题
但有时 后端直接给我们返回了个字符串 这种情况还是不少的 因为有些后端不想处理 就直接这样省事
但却会影响我们的判断结果

let mint = "false";
if(mint){
  console.log("条件为 true");
}else{
  console.log("条件为 false");
}

在这里插入图片描述
因为 mint 是个字符串 那么字符串判断的就是非空了 那他不为空啊 所以条件就成立了 换成Boolean就是true了

这时 有人就会想 改成

if(mint == "true")


那要是后端有时候有返回的是Boolean类型的呢?
又有人想说

if(mint == "true"||mint == true)

我只能说 你这样是可以解决问题 但太丑了 写的 说实话 很多余

我们直接用js中的 eval方法就好了

let mint = "false";
if(eval(mint)){
  console.log("条件为 true");
}else{
  console.log("条件为 false");
}

在这里插入图片描述

let mint = false;
if(eval(mint)){
  console.log("条件为 true");
}else{
  console.log("条件为 false");
}

在这里插入图片描述
可以看到 无论是Boolean还是String都没有任何问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值