Javascript说两个字符串相等,但它们不相等

时间:2018-04-04 12:22:54

标签: javascript angularjs

我遇到了奇怪的行为,比较说当两个字符串明显不相等时是相等的:AngularJS项目,我注入了通过“@@ propertyName”配置一些属性:< / p>

states = '@@states'

其他配置文件中的"states": []

最近我想做以下比较:

if (states === '@@states') {
    states = ''
}

这意味着如果未注入状态 - 请将其作为空字符串。 这里奇怪的行为是,即使状态包含“{}”或“[]”或对象数组,它也会变为空,尽管值不相等:

incorrect if

只有对象,数组或对象数组才会发生,如果状态是像“testtest”这样的字符串 - 比较可以正常工作。

我找到了一个解决方法,但我仍然对正在发生的事情感兴趣。也许你知道它并且可以解释它。谢谢!

0 个答案:

没有答案