前言:
当前看官们对“js布尔型变量”大致比较看重,小伙伴们都需要分析一些“js布尔型变量”的相关知识。那么小编同时在网摘上搜集了一些对于“js布尔型变量””的相关资讯,希望小伙伴们能喜欢,大家快快来学习一下吧!什么是布尔陷阱?
布尔陷阱 当一个布尔型变量在表达某种意思存在歧义的时候,我们称之为布尔陷阱。 通常最常见的布尔陷阱示例是一个接收布尔参数的函数。
我们以下面的例子为例,解释什么是布尔陷阱:
// What does `false` stand for?results.reload(false);// What does `true` stand for?const user = new User(true);
reload 函数在接收了一个布尔参数时,在参数为false情况下我们一般认为不会重新加载,但是事实并非如此,有可能他表示的不会立即重载(例如:immediate)。
第二个例子表示用户是否是管理员,但是如果不查询文档,我们很难搞清楚,给一个参数fasle, user到底是还是不是管理员。
并非所有的布尔参数都是布尔陷阱
// It should be obvious that `true` makes the element disabledelement.setProperty('disabled', true);// Could be equivalent to `element.disabled = true;`
在上面例子中我们很清晰地知道元素的disable属性
如何避免布尔参数
既然我们已经知道了什么是布尔参数,那么该如何避免它?我们可以采用参数对象的方式进行传递。 例如:
// Ok, so reload but not immediatelyresults.reload({ immediate: false });// Create a new user without administrator privilegesconst user = new User({ isAdministrator: false });总结
函数的布尔参数如果使用不当,会导致代码可读性和可维护性大大降低,建议我们在编码过程中尽量避免布尔参数
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #js布尔型变量