疯狂的技术宅

以前出于工作目的,编写和翻译了大量的技术文章,以前端为主,删掉了过时的、毫无营养的内容,留下的都是精华。


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于本站

  • 回到主站

  • 搜索

什么情况下可以使用 JavaScript 中的 Boolean 函数

时间: 2021-06-03 分类: 前端技术   字数: 399 字 阅读: 1分钟
标签: #JavaScript# #Boolean# #函数#

用 Boolean 进行真实检查

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

let x = 'some-value';

// 这看起来不太美观
if (!!x) {
  // ...
}

// 这更具可读性
if (Boolean(x)) {
  // ...
}

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

const values = [0, 0, 2, 0, 3];
// 用作 Array.prototype.some() 的回调
const hasValidValue = values.some(Boolean);
// 用作 Array.prototype.filter() 的回调
const nonEmptyValues = values.filter(Boolean);

小心处理布尔对象

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

let x = new Boolean(false);

if (x) {
  // 这里的代码会执行
}

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

标签: #JavaScript# #Boolean# #函数#

标题:什么情况下可以使用 JavaScript 中的 Boolean 函数

链接:https://fe-tech.viewnode.com/post/202106/03/

作者:疯狂的技术宅

声明: 本博客文章除特别声明外,均采用 CC BY-NC-ND 4.0 国际许可协议( 知识共享署名-非商业性使用-禁止演绎 4.0),转载请注明出处!

用好 Vue 中 v-for 循环的 7 种方法
JavaScript 中的提升是什么?
  • 文章目录
  • 站点概览
疯狂的技术宅

疯狂的技术宅

退休程序员,硬件发烧友,人工智能爱好者。写写代码喝喝茶,晒晒太阳带带娃。

457 日志
8 分类
583 标签
GitHub
友情链接
  • viewnode
  • mofish
标签云
  • Javascript 172
  • Node.Js 62
  • Vue 36
  • Typescript 28
  • 实战项目 28
  • 面试 21
  • React 20
  • Css 17
  • 面试题 16
  • 教程 13
  • Promise 12
  • Chrome 9
  • Debug 9
  • 调试 9
  • 资源 9
  • Deno 8
  • Dom 8
  • 杂谈 8
  • 正则表达式 8
  • 测试 8
    • 用 Boolean 进行真实检查
    • 小心处理布尔对象
© 2018 - 2022 疯狂的技术宅 All Rights Reserved
Powered by - Hugo v0.99.0 / Theme by - NexT
Storage by 俺的服务器 / 冀ICP备2022010157号
0%