JavaScript 如何判断变量的值是否存在,是否为空?
习惯了写 PHP,在 JS 这个问题上一直得不到很明确的答案。
比如 if (variable) 和 if (!variable) 是等价于什么?
undifine null false 的区别等等。
Answers
if (variable) 等价于 if (ToBoolean(variable) === true)
if (!variable) 等价于 if ((!(ToBoolean(variable))) === false)
实际定义要更复杂,但都是等价的。其中ToBoolean是ECMA-262里定义的函数:
对于undefined和null的差别、判断值是否存在都可以看 JavaScript 秘密花园