美文网首页
JS系列1-布尔陷阱以及如何避免

JS系列1-布尔陷阱以及如何避免

作者: 星星在线 | 来源:发表于2022-08-13 10:10 被阅读0次

布尔陷阱以及如何避免布尔陷阱

什么是布尔陷阱?

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

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

// 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多平台发布

相关文章

  • JS系列1-布尔陷阱以及如何避免

    布尔陷阱以及如何避免布尔陷阱 什么是布尔陷阱? 布尔陷阱 当一个布尔型变量在表达某种意思存在歧义的时候,我们称之为...

  • 七个Swift中的陷阱以及避免方法

    七个Swift中的陷阱以及避免方法 七个Swift中的陷阱以及避免方法

  • 30/70好好说话—广播笔记D026-飞鹰-设计

    一、如何避免沟通陷阱? 人际冲突预防为主,日常小冲突日积月累会变成炸弹, 1、避免两个版本的陷阱:同...

  • 10个最常见的JavaScript错误[译]

    前言 翻译自原文,省去了原文的开头和结尾,只翻译中间的主要内容——介绍10个最常见的js错误,并如何避免这些陷阱。...

  • 绵阳,成都江水平装修

    绵阳江水平装修,装修如何避免装修陷阱?装修小白看完也不怕了(先施工,后付款) 装修小白如何避免装修陷阱 李工不得不...

  • 原创挑战本质是刻意练习(续)

    那么如何刻意练习? 假设你现在在从事任何一个领域,同时找到了一系列的教材、任务,如何开始呢? -1- 避免自动完成...

  • 25个最基本的JavaScript面试问题及答案

    1.使用typeof bar === "object"来确定bar是否是对象的潜在陷阱是什么?如何避免这个陷阱? ...

  • 2019-02-24

    1.使用typeof bar === "object"来确定bar是否是对象的潜在陷阱是什么?如何避免这个陷阱? ...

  • 《即兴演讲》复盘二十

    本章重点:如何通过做好准备、组织答案,以及避免陷阱,来应对听众的问题。 做好准备 掌握内容。对所讲话题的掌握,是回...

  • 警惕“愚昧陷阱”

    这些年,人们讲了中国面临的很多陷阱。今天,可能需要加上一个更严峻的陷阱,即“愚昧陷阱”。如何避免这个陷阱是各利益相...

网友评论

      本文标题:JS系列1-布尔陷阱以及如何避免

      本文链接:https://www.haomeiwen.com/subject/cpkqgrtx.html