碎片时间学编程「72]:在哪里及如何在 JS中使用布尔函数?


碎片时间学编程「72]:在哪里及如何在 JS中使用布尔函数?

JavaScript 的内置Boolean是我发现自己最近在代码审查中经常提出的建议之一,所以我想我可以与全世界分享一些关于它的技巧。

使用布尔值进行真值检查

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

JavaScript

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对象和Boolean构造函数的一些问题。该Boolean对象是一个布尔值的对象包装器,但棘手的部分是,作为一个对象,即使包含的值是false

let x = new Boolean(false);

if (x) {
  // 执行此代码
}

例如,上面的代码会认为是x真的,即使它明确包含false作为它的值。这可能有些令人困惑,但如果您通常避免使用Boolean对象和Boolean构造函数,则可以轻松避免它,除非您完全确定出于某种原因需要使用它。老实说,我找不到任何需要使用它的场景,所以一开始可能并不那么普遍。

更多内容请访问我的网站:https://www.icoderoad.com

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章