📜  为什么 [1,2] + [3,4] = “1,23,4” 在 JavaScript 中?

📅  最后修改于: 2022-05-13 01:56:25.919000             🧑  作者: Mango

为什么 [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、Undefinednull中有 6 种内置数据类型。并且不同种类的数据类型相加的结果是不同的。

例如:未定义 + 未定义 => 数字、未定义 + 对象 => 字符串等。

在下表中给出了所有加法的结果

 undefinednull booleannumber StringObject
undefinednumbernumbernumber number stringstring
nullnumbernumbernumbernumberstringstring
booleannumbernumbernumbernumberstringstring
number numbernumbernumbernumberstringstring
Stringstringstringstringstringstringstring
Objectstringstringstringstringstringstring

示例:示例是通过这个简单的 JavaScript 程序获取该表的方法。

Javascript


输出:在上面的程序中,有两个数组,其中提供了所有 6 个数据类型值。我们将 arr1 的每个项目与 arr2 的每个项目相加并打印结果的类型。这就是我们创建上表的方式。

现在来到我们的问题[1,2] + [3,4] ,这里我们添加两个数组,我们知道数组的类型是一个对象,所以根据上表当我们添加两个对象时,我们得到结果字符串类型。 JavaScript 将两个数组转换为字符串,然后将它们连接起来。这里两个数组都变为“1,2”“3,4” ,当两个字符串连接时,我们得到“1,23,4”