используя имя объекта в операторе if как true, так и false? - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь использовать имя моего объекта для оператора 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")
    }

1 Ответ

0 голосов
/ 24 октября 2019

!== сравнивает по типу, а вы сравниваете объект с примитивным типом строки. замена этого оператора на != или замена второго на ===, вероятно, даст вам более согласованный / желаемый результат.

== преобразует операнды в один и тот же тип перед сравнением https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...