zoukankan      html  css  js  c++  java
  • 空数组转换成布尔型问题

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

    数组属于对象类型,所以空的数组转换成布尔型是true

    相同的是,空的对象转换成布尔型也是true

    1.

    空数组[]和空对象{}都是object类型,因此直接用于if判断条件时就会被转化为true。

    2.

    任意值与布尔值比较,都会将两边的值转化为Number。

    注意:

    如果将空数组[]与布尔值false比较,false转化为0,而空数组[]也转化为0,因此[] == false的判断得到true。
    如果将空对象{}与布尔值false比较,false转化为0,而空对象{}转化为NaN,由于NaN与任何数都不相等,因此{} == false的判断得到false。

  • 相关阅读:
    愚公移山
    唐雎不辱使命
    渡易水歌
    论语
    智子疑邻
    学弈
    SQL Merge 语法 单表查询
    大道之行也
    Java开发人员最常犯的10个错误
    模拟Spring手撕一个简单的IOC容器
  • 原文地址:https://www.cnblogs.com/md-lw/p/10097215.html
Copyright © 2011-2022 走看看