使用“+”运算符推送有什么区别吗?

Is there any difference in using the " + " operator to push?

我正在比较两个分支,代码中存在差异,而 + operator,在我看来它没有任何区别,因为它是推送。
有区别吗?

之前

if (numberPattern.test(val)) {
            var getNumbers = val.match(numberPattern);
            for (i = 0; i < getNumbers.length; i++) {
                valores.push(getNumbers[i])
            }
        }

之后

if (numberPattern.test(val)) {
            var getNumbers = val.match(numberPattern);
            for (i = 0; i < getNumbers.length; i++) {
                valores.push(+getNumbers[i])
            }
        }

它将其转换为 Number,而另一种情况将其保留为字符串。

+ 实际上会将 getNumbers[i] 更改为 number 类型。 +(一元运算符)实际上用于将其转换为 number.

试试 运行 这个代码:

var s = "1"; //String
var s1 = +s; //String changed to a number now
console.log(typeof s1);

您会看到 s1 的类型将是 number