MDN js文档中没有任何内容可以说明发生以下情况的原因。
var numAsStr = "2"
numAsStr = +numAsStr
console.log(typeof(numAsStr)) //outputs Number

答案 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