使用“+”运算符推送有什么区别吗?
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
。
我正在比较两个分支,代码中存在差异,而 + 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
。