JavaScript 如何判断变量的值是否存在,是否为空?


习惯了写 PHP,在 JS 这个问题上一直得不到很明确的答案。
比如 if (variable) 和 if (!variable) 是等价于什么?
undifine null false 的区别等等。

前端技术 JavaScript

xScott 11 years, 1 month ago

if (variable) 等价于 if (ToBoolean(variable) === true)

if (!variable) 等价于 if ((!(ToBoolean(variable))) === false)

实际定义要更复杂,但都是等价的。其中ToBoolean是ECMA-262里定义的函数:

请输入图片描述

对于undefined和null的差别、判断值是否存在都可以看 JavaScript 秘密花园

荒耶丿宗蓮 answered 11 years, 1 month ago

Your Answer