–JS数据类型之布尔类型)
点此查看所有教程、项目、源码导航文章目录1. 前言2. 布尔类型是干啥的3. 布尔类型是必须的吗4. 那为什么还需要布尔类型5. 小结1. 前言之前两篇文章我们先后讲解了数字类型和字符串类型数字类型用于表示数值字符串类型可以表示一段文本。本节我们来讲解下布尔类型它用来表达真假。相较于数字类型、字符串类型布尔类型更加抽象我给大家讲一些来龙去脉的东西方便大家理解。2. 布尔类型是干啥的布尔类型只有两个值true表示真false表示假专门用来存储判断得到的结果。举个例子数字 1 大于数字 2 吗结果是假用布尔类型表示就是false。再举个例子2000 年是闰年吗结果是真用布尔类型表示就是true。varres112;console.log(res1);// falsevarres22000%40;console.log(res2);// true3. 布尔类型是必须的吗我学习过的语言包括 C/C/OC/C#/Java/Python/JavaScript并不是所有语言原生都有布尔类型但是绝大多数现代语言都提供了布尔类型。从这点能看出来布尔类型并不是语法层面绝对不可替代的。想要表达真假我们完全可以自己约定用数字 0 代表假数字 1 代表真或者用字符串真、假来记录结果。早期很多语言就是这么实现真假逻辑的。4. 那为什么还需要布尔类型虽然不用布尔类型依靠数字或者字符串也能勉强表达真假但是这种方式很容易出问题。举个例子我们用变量isMale标记是否为男性true代表是男性false代表不是// 布尔类型表达判断结果含义清晰varisMaletrue;isMalefalse;布尔类型只有两个合法值它的取值范围是被严格限制的语义一目了然。如果换成数字来约定1 代表男性0 代表女性// 用数字来标记性别varisMale1;isMale0;这样写乍一看也能正常运行但是代码没有办法阻止我们写出下面这种代码isMale2;isMale99;2、99不在我们约定的取值里面属于无效数据。程序不会主动报错后续阅读代码的人很难看懂这个值代表什么。不要觉得这种错误离我们很远墨菲定律告诉我们有可能发生的事情终究会发生。简单总结布尔类型的取值只有两种非真即假语义约束很强。如果使用数字或者字符串代替就会产生很多不受控制的非法值。我们写代码的时候有大量判断场景用户名密码是否匹配、是否确认删除、余额是否足够支付等等。专门设计布尔类型就是为了承载这类判断结果等后面学习条件判断的时候大家会频繁感受到它的便利。5. 小结布尔类型仅仅包含两个固定值true和false。和数字、字符串不一样数字和字符串可以有无限多种取值。布尔类型本身比较抽象如果暂时理解不够透彻也不用焦虑。后面学习判断、循环的时候我们会反复使用布尔值用得多了自然就能吃透它。