可不可以用 a == null 来代替 a === null || a === undefined
今天闲着没事看 coffeescript,发现 coffeescript 会把
a = undefined
if a?
console.log a
翻译成:
var a;
a = void 0;
if (a != null) {
console.log(a);
}
然后我想了想、试了试,发现 0
、false
、""
都不满足 == null
于是我就想,可不可以使用 a == null
来代替 a === null
|| a === undefined
呢?
5 回复
或者说,哪些值满足 == null
呢
经验告诉我 可以
可以,但最好不要,因为不严谨,容易导致后面的人以为这个变量最坏只可能为null,手贱的人更是会直接把==改成===
@zy445566 哈哈,有道理
完全可以,在 GitHub 搜一下 nodejs 项目里 a != null 的写法 非常普遍,反而 a !== null && a !== undefined 的写法 比较少