为什么 [1,2] + [3,4] = “1,23,4” 在 JavaScript 中?
我们给出了一个表达式[1, 2] + [3, 4] ,这个表达式的结果是“1,23,4”。在本文中,我们将知道为什么会得到这个奇怪的结果。
例子 :
=> [1,2] + [3,4]
=> "1,23,4"
=> [1, 2, 3, 4] + [9, 8]
=> "1, 2, 3, 49, 8"
=> [4] + []
=> "4"
=> [] + []
=> ""
在先了解原因之前,我们先了解加法运算符( + ) 及其不同数据类型的结果。众所周知,javascript Number、String、Object、Boolean、Undefined和null中有 6 种内置数据类型。并且不同种类的数据类型相加的结果是不同的。
例如:未定义 + 未定义 => 数字、未定义 + 对象 => 字符串等。
在下表中给出了所有加法的结果 undefined null boolean number String Object undefined number number number number string string null number number number number string string boolean number number number number string string number number number number number string string String string string string string string string Object string string string string string string
示例:示例是通过这个简单的 JavaScript 程序获取该表的方法。
Javascript
输出:在上面的程序中,有两个数组,其中提供了所有 6 个数据类型值。我们将 arr1 的每个项目与 arr2 的每个项目相加并打印结果的类型。这就是我们创建上表的方式。
现在来到我们的问题[1,2] + [3,4] ,这里我们添加两个数组,我们知道数组的类型是一个对象,所以根据上表当我们添加两个对象时,我们得到结果字符串类型。 JavaScript 将两个数组转换为字符串,然后将它们连接起来。这里两个数组都变为“1,2”和“3,4” ,当两个字符串连接时,我们得到“1,23,4”