《前端防坑》- JS基础 - 你觉得Boolean(‘false‘) === false吗?

问题

你觉得Boolean('false') === false吗, Boolean(\[\]) === false吗?

答案

Boolean('false') === true, Boolean(\[\]) === true

验证

原因

Boolean 对象表示两个值:"true" 或 "false"

但是能使Boolean为flase的只有6种情况:

  • undefined(未定义,找不到值时出现)
  • null(代表空值)
  • false(布尔值的false,字符串"false"布尔值为true)
  • 0(数字0,字符串"0"布尔值为true)
  • NaN(无法计算结果时出现,表示"非数值";但是typeof NaN==="number")
  • ""(双引号)或''(单引号) (空字符串,中间有空格时也是true)

注意空数组空对象,负值转的布尔值时都为true

参开网址:https://www.cnblogs.com/zjx304/p/9782942.html

相关推荐
泯泷10 小时前
手搓JSVMM第 8 篇:函数调用:参数、返回值与调用帧
前端·javascript·前端框架
Mr数据杨11 小时前
【Codex】用学生入学评估模块建立新生能力画像
android·java·javascript·django·codex·项目开发
苏灿烤鱼12 小时前
没有机密文件,也没有付费数据,在浏览器里造一颗"间谍卫星"
前端·javascript·github
泯泷12 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷12 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷12 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷12 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷13 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法
Coodor15 小时前
如何在web浏览器使用js操作CPU卡
开发语言·前端·javascript·cpu卡