阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS Boolean 类型

      Boolean 类型

      Boolean 类型是 ECMAScript 中使用得最多的一种类型,该类型只有两个字面值: true 和 false 。

      这两个值与数字值不是一回事,因此 true 不一定等于 1,而 false 也不一定等于 0。

      以下是为变量赋 Boolean 类型值的例子:

      var found = true;
      var lost = false;
      

      需要注意的是, Boolean 类型的字面值 true 和 false 是区分大小写的。也就是说, True 和 False(以及其他的混合大小写形式)都不是 Boolean 值,只是标识符。

      虽然 Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值。

      要将一个值转换为其对应的 Boolean 值,可以调用转型函数 Boolean() ,如下例所示:

      var message = "Hello world!";
      var messageAsBoolean = Boolean(message);
      

      在这个例子中,字符串 message 被转换成了一个 Boolean 值,该值被保存在 messageAsBoolean 变量中。

      可以对任何数据类型的值调用 Boolean() 函数,而且总会返回一个 Boolean 值。至于返回的这个值是 true 还是 false ,取决于要转换值的数据类型及其实际值。

      下表给出了各种数据类型及其对应的转换规则。

      真假数据类型

      数据类型转换为 true 的值转换为 false 的值
      Booleantruefalse
      String任何非空字符串"" (空字符串)
      Number任何非零数字值(包括无穷大)0 和 NaN
      Object任何对象null
      Undefinedn/aundefined

      ① n/a(或 N/A),是 not applicable 的缩写,意思是“不适用”。

      注意上面这些为 false 的值一定一定要记牢固!非常重要!!!

      这些转换规则对理解流控制语句(如 if 语句)自动执行相应的 Boolean 转换非常重要,

      请看下面的代码:

      var message = "Hello world!";
      if (message){
          alert("Value is true");
      }
      

      运行这个示例,就会显示一个警告框,因为字符串 message 被自动转换成了对应的 Boolean 值( true )。

      由于存在这种自动执行的 Boolean 转换,因此确切地知道在流控制语句中使用的是什么变量至关重要。

      错误地使用一个对象而不是一个 Boolean 值,就有可能彻底改变应用程序的流程。

      目录
      目录