什么情况下可以使用 JavaScript 中的 Boolean 函数
追忆似水年华 · 119浏览 · 发布于2021-06-04 +关注

用 Boolean 进行真实检查

Boolean() 函数在对数据进行真值检查时特别有用,并且可能比双重否定 (!!) 操作更具可读性:


  1. let x = 'some-value'; 


  2. // 这看起来不太美观 

  3. if (!!x) { 

  4.   // ... 


  5. // 这更具可读性 

  6. if (Boolean(x)) { 

  7.   // ... 

正如你在上面的例子中所看到的,它的用途完全相同,并且用起来非常简单。同样,由于 Boolean() 本身就是一个返回布尔值的函数,你可以用它来检查集合、过滤数组等:


  1. const values = [0, 0, 2, 0, 3]; 

  2. // 用作 Array.prototype.some() 的回调 

  3. const hasValidValue = values.some(Boolean); 

  4. // 用作 Array.prototype.filter() 的回调 

  5. const nonEmptyValues = values.filter(Boolean); 

小心处理布尔对象

虽然 Boolean() 函数非常有用,但是会遇到一些关于 Boolean 对象和 new Boolean() 构造函数的问题。Boolean 对象是一个布尔值的对象包装器,但棘手的部分是,作为一个对象,即使包含的值为 false,它也始终为真!


  1. let x = new Boolean(false); 


  2. if (x) { 

  3.   // 这里的代码会执行 

例如,上面的代码会考虑 x 为真,即使它明确把 false 作为其值。这可能有些令人困惑,但是如果你不用 Boolean 对象和 new Boolean() 构造函数,就可以轻松避免它,除非你完全确定出于什么原因需要使用它。我找不到任何需要使用它的场景,所以一开始可能并不常见。


相关推荐

PHP实现部分字符隐藏

沙雕mars · 910浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 379浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 488浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 536浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 504浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
分类专栏
小鸟云服务器
扫码进入手机网页