Skip to content

一个让我掉到坑里的问题:null==0 吗? #35

@cssmagic

Description

@cssmagic

今天在处理某个 JavaScript 函数的过程中,犯了一个错误。我下意识地认为 null==0 是成立的。

我们知道 null===0 肯定是不成立的。但 null==0 呢?

JavaScript 是弱类型语言,有一套复杂的类型转换规则。记忆中 null 转换为布尔值应该是 false,而且 0 也是这样,于是就想当然地认为这个相等是成立的。

但是,相等运算符(==)并不是把两个值转换为布尔值之后再进行比较,它有自己的一套比较规则。我查阅了《JavaScript 权威指南》,结果证明我最初的想法是错误的。

这就是今天的一点收获。同时也要承认,作为一个 JavaScript 初学者,自己的基础还是有很多薄弱的地方!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions