Javascript 连接 + 并赋值 +=?

Javascript concatenate + and assign +=?

我正在阅读一本关于 Javascript 的书,关于赋值运算符和串联,我遇到了一个令人困惑的部分。请看下面的代码

var msg = 'JavaScript'; msg += ' Code'; //Concatenate
var intA = 8; intA -= 4; //Subtract and assign
var intB = 24; intB *= intA; //Multiply and assign

var str = 'Add & assign string: ' + msg;
    str += '<br>Multiply & assign: ' + initB;

我知道 += 运算符在处理字符串时连接两个操作数,在处理数字时它们将操作数的值相加并将计算值重新分配给第一个操作数。

我还了解到 str 被初始化为 'Add & assign string ' + msg;,然后附加了另一个字符串和一个变量。

但是为什么不直接在 str 变量的例子中写下下面的内容呢?

var str = 'Add & assign string ' + msg + '<br>Multiply & assign: ' + initB;

我是不是误解了 + 和 += 之间的细微差别,还是在这个用例中它们是同一回事?

这样的表达
a += b

被解释(几乎)完全就像它被写成一样

a = a + b

解释语言结构的人为示例是人为的,不一定反映常见的做法。 (如果他们这样做了就好了,但是创建代码示例是出了名的困难。)