Javascript != 不转换为 null?

标签 javascript comparison operators

我有以下习语:

if(typeof prop != 'null') {
}

我的印象是,如果 propnull!= 运算符会将 null 对象转换为字符串 'null' 用于比较?

在上述情况下,当 prop 为 null 时,表达式的计算结果为 true。为什么这个习惯用法适用于未定义?未定义不是一个对象吗?就像 null 是一个对象一样?

最佳答案

空对象的类型仍然是“对象”。如果你alert(typeof prop)你会看到它是一个对象。

您想要检查空值。

if(prop == null) {
    alert(typeof prop);
}

关于Javascript != 不转换为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682302/

相关文章:

typescript - typescript 中的数字比较

vector - 元组向量的逐元素比较 Julia

c++ - 这个运算符(operator)的名字是什么->*?

javascript - 了解JavaScript逗号运算符

javascript - 安装 browserify 后看不到 "node_modules/bin"文件夹

javascript - 除非我手动检查,否则无法在 Chrome 开发工具中获取元素

javascript - Internet Explorer 8 chop iframe 内容

javascript - 使用 Vue.js 在 Bootstrap 模式中自动完成 Google map

c++ - C++中的比较技巧

ruby-on-rails - Rails——&= 做什么?