0

我尝试将我的对象名称用于 if 语句.. 但两者都是真的,为什么?

var moduleInfo = new Object("moduleInfo");
moduleInfo ["name"] = "Module: Export"

if (moduleInfo !== "moduleInfo"){
    console.log("window is NOT modulInfo")
    }


if (moduleInfo == "moduleInfo"){
    console.log("window IS modulInfo")
    }
4

1 回答 1

0

!==是按类型进行比较,并且您正在将对象与原始类型的字符串进行比较。用该运算符替换该运算符!=或将第二个运算符替换为===可能会使您获得更一致/理想的结果。

==在进行比较之前将操作数转换为相同的类型 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators

于 2019-10-24T13:43:30.167 回答