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

Javascript 类型转换在数组中添加和减去数字索引值,javascript,arrays,Javascript,Arrays,如何用数值减去数组对象类型?此外,当您添加这两个时,为什么会有类型转换 示例: [10] - 7 // returns 3 [10] + 7 // returns "107" 我知道当添加7时,数组和数字7将转换为字符串。我不明白减法的第一个例子为什么有效。我认为这两种方法都有效: 数组对象类型(-)或(+)数值类型 我希望两个示例都返回NaN 此外,“+”将类型转换为与字符串值串联 如果运行: {} + 1 // returns 1 {} -1 // returns -1 没有发生类型

如何用数值减去数组对象类型?此外,当您添加这两个时,为什么会有类型转换

示例:

[10] - 7 // returns 3

[10] + 7 // returns "107"
我知道当添加7时,数组和数字7将转换为字符串。我不明白减法的第一个例子为什么有效。我认为这两种方法都有效:

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

我希望两个示例都返回
NaN

此外,“+”将类型转换为与字符串值串联

如果运行:

{} + 1 // returns 1
{} -1  // returns -1
没有发生类型转换

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

这是由于

基本上,当您使用
+
运算符时,有一个定义如何转换类型以及新类型中的结果值的函数