为什么在自身中添加一个str号将其转换为数字?

时间:2018-01-17 16:20:34

标签: javascript string type-conversion numbers

MDN js文档中没有任何内容可以说明发生以下情况的原因。



var numAsStr = "2"
numAsStr = +numAsStr
console.log(typeof(numAsStr)) //outputs Number




string gets turned into a number

4 个答案:

答案 0 :(得分:1)

这是因为如果字符串已经是整数形式,则一元将转换字符串。希望这会对你有帮助。

答案 1 :(得分:0)

请参阅here"一元加+(+)"节

答案 2 :(得分:0)

您没有为自己添加字符串编号,您正在应用" +"运算符到字符串并捕获强制值。如果您改为将其写为

var numAsString = "2"
numAsString += numAsString
console.log(typeof numAsString)

你会发现它并没有强迫一个号码。如果将其写为

,则会发生相同的行为
numAsString = -numAsString

答案 3 :(得分:0)

它告诉你字符串中的字符类型。您可以在此处详细了解:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof