为什么使用JavaScript时以下结果不同?
print(np.random.choice(choices, 10, p=p))
JavaScript中是否存在隐式转换?
答案 0 :(得分:1)
否,一元加号运算符(第二个+
)将字符串显式转换为数字。
答案 1 :(得分:1)
在字符串上使用一元+
运算符时,会将其转换为数字,但是这是在将+
附加到字符串后显式完成的。这就解释了为什么1 + +"2"
为3。
对于其他情况,您只是在进行字符串连接。
JavaScript具有自动类型转换的概念,当您执行某些操作时会隐式完成。
并回答您的问题:
是的,JavaScript中存在隐式转换。
答案 2 :(得分:0)
尝试:
console.log(Number(1) + Number(+"2"));
console.log(Number(1) + Number("2"));
有关在https://www.w3schools.com/js/js_type_conversion.asp上进行类型转换或转换的更多信息