当我将 JavaScript 中的整数 (3) 乘以字符串 ("2") 时,控制台显示 6

console shows 6 when i multiply integer (3) into string ("2") in JavaScript

嘿,你能告诉我为什么我添加时会出现这种情况吗

var a = 3
var b = "2"
console.log(a + b ) // 32

以上输出正确 但是当我做减法时它显示

console.log(a - b ) // 1

乘法 (o/p:- 6) 也是一样的,当我除法时输出是 (1.5) 为什么会这样 当我做除加法以外的其他算术运算时

“+”运算符在对字符串进行操作时进行连接。 'b' 变量是一个字符串文字,这就是你得到输出 '32' 的原因。

+ 运算符在这个意义上是特殊的。它会添加数字,但如果遇到字符串则连接起来。

但是,像这样的行为对其他操作员来说没有意义

例如,您希望 "foo" - 2 做什么?还有 "foo" / 3?把"foo"分成3份?那么3 / "foo"呢?

因此,一般规则是 算术运算符总是将它们的参数强制转换为数字,而 加法/连接运算符 (+) 是唯一的 例外 .


实际上,比较运算符(<<=>>=)也可以用于字符串,但它们不是算术运算符。