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 条评论) “” |