在JavaScript中,为什么num==[num]?
有没有理由证明这些陈述是正确的在JavaScript中,为什么num==[num]?,javascript,numbers,Javascript,Numbers,有没有理由证明这些陈述是正确的 0 == [0]; 1 == [1]; 5 == [5]; 5000 == [5000]; 1000000 == [1000000]; 那么基本上任何一个数都等于它自己被包装在一个数组中?这背后的逻辑是什么?这是因为在本例中,将其两个操作数强制为字符串,并且数组的字符串表示形式是它包含的元素,以逗号分隔: >>> [1, 5].toString() "1,5" 由于问题中的数组仅包含一个元素,因此它们的字符串表示形式与元素的字符串表示形式相同
0 == [0];
1 == [1];
5 == [5];
5000 == [5000];
1000000 == [1000000];
那么基本上任何一个数都等于它自己被包装在一个数组中?这背后的逻辑是什么?这是因为在本例中,将其两个操作数强制为字符串,并且数组的字符串表示形式是它包含的元素,以逗号分隔:
>>> [1, 5].toString()
"1,5"
由于问题中的数组仅包含一个元素,因此它们的字符串表示形式与元素的字符串表示形式相同:
>>> [5000].toString()
"5000"
这是因为在本例中,将其两个操作数强制为字符串,并且数组的字符串表示形式是它包含的元素,由逗号分隔:
>>> [1, 5].toString()
"1,5"
由于问题中的数组仅包含一个元素,因此它们的字符串表示形式与元素的字符串表示形式相同:
>>> [5000].toString()
"5000"
一个原因是使用的运算符是“==”,它只比较值而不比较数据类型,如1==“1”为真。一个原因是使用的运算符是“==”,它只比较值而不比较数据类型,如1==“1”为真。
[0]
是一个带有一个元素“0”的数组。因此0==[0]
相当于:
0==myArray(0)
另一种语言。其中myArray(0)返回索引0处的值,在本例中为0
这就是我对JavaScript数组的理解。如果我错了,其他人可能想插手纠正我。[0]
是一个包含一个元素“0”的数组。因此0==[0]
相当于:
0==myArray(0)
另一种语言。其中myArray(0)返回索引0处的值,在本例中为0
这就是我对JavaScript数组的理解。如果我错了,其他人可能想插手纠正我。因为==不比较变量的类型,而===比较变量的类型,所以:
0 == [0] //true
0 === [0] // false
在同一情况下:
0 == '0' //true
0 === '0' //false
因为==不比较变量的类型,并且===比较变量的类型,所以:
0 == [0] //true
0 === [0] // false
在同一情况下:
0 == '0' //true
0 === '0' //false