javascript - 将字符串添加到数字以及将数字添加到字符串

标签 javascript types concatenation type-conversion

我在控制台中尝试了一些我不太理解的内容。

如果添加 2 + 3 +“hello”,它将连接到“5hello”

但是,如果您保留此值并添加 'hello' + 2 + 3,它将连接到 'hello23'

为什么?我的猜测是因为 JavaScript 会查看第一个数据类型并尝试将其转换为该类型?有人可以详细说明一下吗?

最佳答案

加法(和其他结合运算符)按从左到右的顺序处理。所以

2 + 3 + "hello"

就像写作

(2 + 3) + "hello"

5 + "hello"

首先是加法,然后是转换/连接。另一方面,

"hello" + 2 + 3

就像:

("hello" + 2) + 3

结果是

"hello2" + 3

"hello23"

关于javascript - 将字符串添加到数字以及将数字添加到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26662080/

相关文章:

javascript - 如何在 extendscript 中将新元素添加到现有 XML 文件中?

javascript - 电子表格应用程序转换日期()

c++ - "Incomplete type"在类中具有与类本身相同类型的成员

css - 如何使用 Gulp 从 SASS 文件生成缩小的 CSS

javascript - 组合两个元素数量不同的数组

javascript - 如何将数据从 Chrome 扩展程序传递到它使用 window.open 打开的网页?

javascript - 如何在可能是简单字符串或字符串对象的字符串对象上安全地使用 JSON.parse?

接受类及其接口(interface)的 Java 类型(逆变)

haskell - 如何根据 Haskell 中的输入值限制类型?

c - strcat() 的访问冲突