我有以下习语:
if(typeof prop != 'null') {
}
我的印象是,如果 prop 为 null
,!=
运算符会将 null 对象转换为字符串 'null' 用于比较?
在上述情况下,当 prop 为 null 时,表达式的计算结果为 true
。为什么这个习惯用法适用于未定义?未定义不是一个对象吗?就像 null 是一个对象一样?
最佳答案
空对象的类型仍然是“对象”。如果你alert(typeof prop)你会看到它是一个对象。
您想要检查空值。
if(prop == null) {
alert(typeof prop);
}
关于Javascript != 不转换为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682302/