我知道下面是JavaScript中检查variables是否为null的两种方法,但我很困惑,这是最佳实践。 我应该这样做: if (myVar) {…} 要么 if (myVar !== null) {…}
我遇到了以下代码: function (data) { if (data != null && data !== undefined) { // some code here } } 我对JavaScript有点新鲜,但是从我在这里读到的其他问题来看,我觉得这个代码没有什么意义。 特别是, 这个答案指出 如果在typeof以外的任何上下文中访问一个未定义的variables,将会出错。 更新:上面的(引用)答案可能会引起误解。 它应该说“一个未声明的variables” ,而不是“一个未定义的variables” 。 正如我发现的那样,在Ryan , maerics和nwellnhof的答案中 ,即使没有给函数提供任何参数,参数的variables总是被声明的。 这个事实也certificate了下面的列表中的第一项是错误的。 根据我的理解,可能会遇到以下情况: 该函数没有参数被调用,因此使得data成为一个未定义的variables,并且在data != null上产生错误。 该函数被特殊调用为null (或undefined )作为其参数,在这种情况下, data != null已经保护了内部代码,呈现&& data !== undefined无用。 该函数被调用了一个非空参数,在这种情况下,它将平分地传递data != null 和 data !== undefined 。 问:我的理解是否正确? 我已经在Firefox的控制台中尝试了以下内容: […]