关于程序员:JS系列1布尔陷阱以及如何避免

7次阅读

共计 792 个字符,预计需要花费 2 分钟才能阅读完成。

布尔陷阱以及如何防止布尔陷阱

什么是布尔陷阱?

布尔陷阱 当一个布尔型变量在表白某种意思存在歧义的时候,咱们称之为 布尔陷阱
通常最常见的布尔陷阱示例是一个接管布尔参数的函数。

咱们以上面的例子为例,解释什么是 布尔陷阱

// What does `false` stand for?
results.reload(false);

// What does `true` stand for?
const user = new User(true);

reload 函数在接管了一个布尔参数时,在参数为 false 状况下咱们个别认为不会从新加载,然而事实并非如此,有可能他示意的不会立刻重载(例如:immediate)。

第二个例子示意用户是否是管理员,然而如果不查问文档,咱们很难搞分明,给一个参数 fasleuser 到底是还是不是管理员。

并非所有的布尔参数都是布尔陷阱

// It should be obvious that `true` makes the element disabled
element.setProperty('disabled', true);
// Could be equivalent to `element.disabled = true;`

在下面例子中咱们很清晰的晓得元素的 disable 属性

如何防止布尔参数

既然咱们曾经晓得了什么是布尔参数,那么如何防止它?咱们能够采纳参数对象的形式进行传递。
例如:

// Ok, so reload but not immediately
results.reload({immediate: false});

// Create a new user without administrator privileges
const user = new User({isAdministrator: false});

总结

函数的布尔参数如果使用不当,会导致代码可读性和可维护性大大降低,倡议咱们再编码过程中尽量避免布尔参数

本文由 mdnice 多平台公布

正文完
 0