为什么+“”在JavaScript中返回0?

时间:2019-08-08 09:47:05

标签: javascript

我刚经过baNaNa到达这里 console.log(+“”)

  

0   我找不到可能的解释。

1 个答案:

答案 0 :(得分:0)

使用+""与使用Number("")相同。
它将字符串转换为数字。
字符串为空,因此值为0

console.log(+""); // 0
console.log(Number("")); // 0
console.log(+("0")); // 0
console.log(Number("0")); // 0
console.log(+"123"); // 123
console.log(Number("123")); // 123
console.log(-""); // same as `+""` but also negates the number
console.log(-"123"); // so this will be converted to a number, but also become a negative value

这种解析数字的方式的行为与parseFloatparseInt完全不同。 (主要区别是Number试图获取任何类型的变量的数值,例如boolea,字符串,数字,对象...,而parseFloat只是从字符串中读取数字)。

console.log(parseFloat("")); // NaN
console.log(+("")); // 0
console.log(parseFloat("1st")); // 1
console.log(+("1st")); // NaN