相关疑难解决方法(0)

[] ==![]计算结果为true

我想知道为什么标题中给出的表达式

[] == ![]

被评估为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必须是falsetrue.A ==!B为了返回true A可以true和B可以false相反,但在这种情况下,A和B是相同的值,所以我不明白.

javascript arrays compare

14
推荐指数
3
解决办法
4153
查看次数

为什么JavaScript中的[] == []为false?

我正在编写代码的一部分,我有一个看起来像的数组[[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如此.

任何描述将不胜感激.

javascript operators comparison-operators

10
推荐指数
3
解决办法
3474
查看次数