我想知道为什么标题中给出的表达式
[] == ![]
被评估为true.
您无法将数组作为字符串进行比较.我明白了.如果
[] == []
将评估为false,因为引用不同.虽然我们有以下声明.
var arr = [];
arr == arr // this evaluates to true simply because references are the same.
Run Code Online (Sandbox Code Playgroud)
按顺序A == B返回trueA和B必须是false或true.A ==!B为了返回true A可以true和B可以false相反,但在这种情况下,A和B是相同的值,所以我不明白.
我正在编写代码的一部分,我有一个看起来像的数组[[data]].将data通过Django的模板引擎渲染在服务器端.所以我的代码看起来像这样:
var data = {{ series|safe }};
// data will be [[]] if no data is present
if (data ==[[]])
console.log('no data');
Run Code Online (Sandbox Code Playgroud)
将if始终返回false.这意味着在[[]] == [[]],false而我的测试表明[]==[]也是false如此.
任何描述将不胜感激.