可不可以用 a == null 来代替 a === null || a === undefined
发布于 25 天前 作者 daGaiGuanYu 2355 次浏览 来自 问答

今天闲着没事看 coffeescript,发现 coffeescript 会把

a = undefined
if a?
  console.log a

翻译成:

var a;
a = void 0;
if (a != null) {
  console.log(a);
}

然后我想了想、试了试,发现 0false"" 都不满足 == null

于是我就想,可不可以使用 a == null 来代替 a === null || a === undefined 呢?

5 回复

或者说,哪些值满足 == null

经验告诉我 可以

可以,但最好不要,因为不严谨,容易导致后面的人以为这个变量最坏只可能为null,手贱的人更是会直接把==改成===

@zy445566 哈哈,有道理

完全可以,在 GitHub 搜一下 nodejs 项目里 a != null 的写法 非常普遍,反而 a !== null && a !== undefined 的写法 比较少

回到顶部