`

js中“”与null和0相等---自动转型

js 
阅读更多
参考:java里面那个StringUtils.isEmpty

var aa = 0;
if(aa.toString()=="") //false
  alert("111");

如果不显示将比较的两个表达式转换成类型相同时,那么:
相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值或者(当类型不同时)能被强制转化为上述情况之一,均被认为是相等的。

此处,将aa和""均转换成Boolean类型,所以相等。
有一点值得注意的是,能被强制转化为上述情况之一
相等运算符 (==、!=) 

如果两表达式的类型不同,则试图将它们转换为字符串、数字或 Boolean 量。 
NaN 与包括其本身在内的任何值都不相等。 
负零等于正零。 
null 与 null 和 undefined 相等。 
相同的字符串、数值上相等的数字、相同的对象、相同的 Boolean 值或者(当类型不同时)能被强制转化为上述情况之一,均被认为是相等的。 
其他比较均被认为是不相等的。 

恒等运算符 (===、!==) 

除了不进行类型转换,并且类型必须相同以外,这些运算符与相等运算符的作用是一样的
分享到:
评论

相关推荐

    JS 宽松相等和严格相等

    在JavaScript编程语言中,"宽松相等"和"严格相等"是两种不同的比较运算符,它们用于判断两个值是否相等。理解这两者的区别对于编写健壮的代码至关重要。 宽松相等运算符(==)在进行比较时,会尝试进行类型转换,以...

    js判断数组是否相等的方法

    在JavaScript中,判断两个数组是否相等是一个常见的需求,尤其在处理数据比较或者验证时。根据标题和描述,我们可以区分两种不同的场景: 1. **数组完全相等**:在这种情况下,不仅要求数组中的元素相同,而且元素...

    PHP判断和比较null、0、''、false的正确姿势.docx

    在松散比较中,0与false相等,因为false会被转换为0。但0不等于null或'',即使它们在某些情况下可能在逻辑上被视为"无"。在严格比较中,0仅与0相等。 3. **''(空字符串)**:空字符串表示一个没有任何字符的字符串...

    麻省理工18年春软件构造课程阅读15-相等-1

    - JavaScript使用`==`进行相等性检查,但请注意,它具有特殊的类型转换规则,可能与预期不同。 为了确保`equals()`方法的正确实现,应遵循以下原则: 1. 自反性:对于任何非null对象x,`x.equals(x)`应返回true。 2...

    null.sys--win10 git秒退

    找一个成功的win10上面的null.sys文件,地址是C:/Window/System32/drivers/将它复制替换自己电脑上相应的文件, 然后在C:/Window/System32/目录下面找到cmd.exe文件,管理员方式运行它,并输入sc start null。若若...

    oracle中的null_考试题目

    9. **GROUP BY与NULL**: 如果`GROUP BY`列中有`NULL`值,这些行将被作为一个组进行处理。 - **题目示例**: - 第15题中,`GROUP BY rylb`将根据`rylb`列的不同值进行分组。 - **选项分析**: - A. `0`条: 错误。 ...

    PyPI 官网下载 | nulltype-2.3.1-py2.py3-none-any.whl

    资源来自pypi官网。 资源全名:nulltype-2.3.1-py2.py3-none-any.whl

    js判断undefined类型,undefined,null,NaN的区别

    在比较运算中,null 和 undefined 被认为是相等的,但是 null 和 NaN 是不相等的。例如: ```javascript var a = null; var b = undefined; alert(a == b); // true alert(a == NaN); // false ``` NaN NaN(Not ...

    oracle中对null值的处理

    理解Oracle如何处理NULL值是数据库管理与查询中的重要一环,尤其对于数据完整性、查询逻辑以及函数计算等方面。 1. NULL的定义: NULL不是代表“无”或“零”,而是表示数据缺失或不可用。在SQL中,NULL被视为一种...

    javascript相等运算符与等同运算符

    在JavaScript编程语言中,相等运算符(`==`)与等同运算符(`===`)是两个非常重要的概念,它们用于判断两个值是否相等,但它们的比较方式和逻辑有所不同,这一点对于理解JavaScript的数据类型转换和比较规则至关...

    在javascript中,null>=0 为真,null==0却为假,null的值详解

    - null >= 0:在规范中没有专门针对null和数字进行比较的规则,所以这种情况会首先检查null是否等于undefined(根据第14和15点,两者相等返回true),然后将比较转换为0和0的比较,显然这是true。 现在,我们可以...

    ORA-01480STR 绑定值的结尾 Null字符缺失 的问题原因及解决办法

    在Oracle数据库操作中,"ORA-01480: STR 绑定值的结尾 Null 字符缺失"是一个常见的错误,通常与数据插入或更新时的格式问题有关。这个错误通常意味着在处理字符串数据时,Oracle无法找到预期的NULL终止符,这可能是...

    NOT NULL 和NULL

    如果既不指定NULL也不指定NOT NULL,列被认为指定了NULL 在 MySQL 中, 为一个 NOT NULL 字段设置 NULL 值 , 它并不会出错, MySQL 会自动将 NULL值转化为该字段的默认值, 那怕是你在表定义时没有...

    metamask安装包

    `common-2.js`, `common-0.js`, 和 `common-1.js`这些文件可能包含的是Metamask的通用功能和库,它们可能包括了加密、哈希计算、事件处理、错误处理等常见的代码片段,这些代码被多个组件或模块共享,以提高代码复用...

    lua-cjson decode中null改成nil

    请注意,这样做可能会打破一些期望`nil`的行为,因为在Lua中,`nil`和任何值都不相等,而`"null"`字符串与其他字符串或变量可以进行比较。因此,如果你的代码依赖于`nil`的这种特性,可能会导致意外的结果。在进行...

    c和c++中NULL和0的区别.docx

    ### C和C++中NULL与0的区别 #### 一、空指针常量(Null Pointer Constant) 在C和C++语言中,空指针常量是一个具有特定含义的整型常量表达式,其值为0,或者经过类型转换成为`void *`类型的表达式。根据标准文档...

    有关JS中的0,null,undefined,[],{},””””,false之间的关系

    - `undefined == null`:这是特殊情况,undefined和null在JavaScript中被认为是相等的,这通常被认为是一个历史遗留问题。 3. **undefined, null, 空字符串与false之间的关系**: - `undefined` 和 `null`:在if...

    JavaScript中undefined和null的区别

    1.undefined和null在if语句中,都会被自动转为false,相等运算符直接报告两者相等。 !null==!undefined==true 2.null表示”没有对象”,即该处不应该有值。典型用法是:  (1) 作为函数的参数,表示该函数的参数...

    javascript类型系统--undefined和null全面了解_.docx

    JavaScript 类型系统中的 `undefined` 和 `null` 是两种特殊的原始值,它们分别代表不同的概念。在 JavaScript 中,每个变量都有一个类型,当变量未初始化或引用的对象不存在时,就会出现 `undefined` 或 `null`。 ...

    c和c++中NULL和0的区别.pdf

    在C和C++编程语言中,`NULL`和`0`都经常被用来表示空指针,但它们之间存在一些微妙的区别。以下是关于这些概念的详细解释: 1. **空指针常量(null pointer constant)**:根据C语言标准(C99,ISO/IEC 9899:1999)...

Global site tag (gtag.js) - Google Analytics