为什么[]+[]返回一个空字符串
Why does [] + [] return an empty string?
最近我一直在尝试node.js,我发现javascript有一些语法逻辑,我无法理解。这是一个我不理解的例子,我想知道这是否只是一个随机的javascript事实,或者它是否有任何逻辑。
加号是算术加号或字符串串联。在[] + []
的情况下,空数组被转换为空字符串。
Array的toString
方法将返回一个字符串,该字符串是数组所有元素的逗号分隔列表。
根据以上MDN参考:
当数组要表示为文本值或在字符串串联中引用数组时,JavaScript会自动调用toString方法。
自动类型转换也是true + true === 2
的原因,而类型转换是许多像这样棘手的JavaScript测试的基础。
对于像数组这样的非基元类型,为了应用加法,必须将其转换为基元,ToPrimitive将为非基元的类型调用toString()。因此,在这种情况下,[]变为",因此,结果是"。
相关文章:
- NodeJS在一个较大的字符串中获取一个字符串的索引
- Javascript:用while循环在给定的count参数中重复一个字符串
- 如何使用另一个字符串作为模板从字符串中提取数据
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 从表单中动态生成一个字符串,传递给通过AJAX加载的PHP文件
- 我可以使用JS一次使用JSON数组中的一个字符串吗
- 将字符串转换为数组使用javascript更新一个值并返回一个字符串
- 如何在JavaScript中每隔第n个字符分割一个字符串
- 我需要使用什么语法来向一个对象的成员添加一个临时数组,该成员等同于一个字符串的通用列表
- 使用Jquery从所有元素创建一个字符串
- 在Javascript中截断一个字符串,混淆了最后两个测试字符串
- Javascript使用本地存储,回调对象并用Json更改为一个字符串以用于填充函数
- 将一个字符串数组解析为一个新的数组javascript
- 我可以在两个javascript文件之间传递一个字符串吗?
- 如何拆分一个字符串,然后将它们与另一个字符串匹配
- get没有方法“writefile”,即使输入是一个字符串
- 将 url 中的一个字符串替换为另一个字符串
- 如何在 javascript 中使用正则表达式在其他两个字符串之间找到一个字符串
- “JSON.parse(str)”返回“意外令牌c”,但str是一个字符串
- 递归查找嵌套数组中的最后一个字符串