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

Type conversion adding and subtracting an number index value in an array

本文关键字:数字 索引值 类型转换 数组 添加      更新时间:2023-09-26

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

示例:

[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

不进行类型转换。

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

这是由于类型强制。

基本上,当您使用+运算符时,会有一组特定的规则来定义如何转换类型,以及它在新类型中的结果值。