javascript - 类型转换在数组中添加和减去数字索引值

标签 javascript arrays

如何将数组对象类型与数值相减?再者,两者相加,为什么会出现类型转换呢?

示例:

[10] - 7 // returns 3

[10] + 7 // returns "107"

我知道当添加 7 时,数组和数字 7 被转换为字符串。我不明白为什么第一个减法例子有效。我认为这两个工作的方式是:

数组对象类型(-)或(+)数值类型

我希望这两个示例都返回 NaN

此外,“+”将类型转换以与字符串值连接。 http://ecma262-5.com/ELS5_HTML.htm#Section_11.6.1

如果运行:

{} + 1 // returns 1
{} -1  // returns -1

不发生类型转换。

数组对象似乎被用作数字。

最佳答案

这是由于 Type Coercion

基本上,当您使用 + 运算符时,会有 certain set of rules定义如何转换类型以及新类型中的结果值。

关于javascript - 类型转换在数组中添加和减去数字索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26811762/

相关文章:

javascript - 是否可以通过循环数组来填充对象实例?

javascript - 在asp.net 上用javascript 来使用sqlserver 的方法是什么?

javascript - 我需要更改 y 轴的计算。那么,如何使用 mapboxgl js API 自定义此轴?

javascript - 如果数据存在,如何在复选框上创建持久功能

C:声明一个指针然后将其用作数组,内存分配

java - 使用所有元素对二维数组进行排序

Java 数组串联

javascript - 页面向下滚动时调整其高度的图像

javascript - 如何跨多个组件共享通用功能

python - numpy 中的小计