На данный вопрос уже ответили:
Почему так получается? Разве не должно быть одно и то же?
"$" + 4 + 5 = "$45"
4 + 5 + "$"= "9$"
Интерпретатор все команды выполняет последовательно, поэтому ваш код можно разложить вот так:
("$" + 4) + 5 => "$4" + 5 => "$45"
Во втором же случае, сначала арифметическая операция, а потом конкатенация
(4 + 5) + "$" => 9 + "$" => "9$"
Сборка персонального компьютера от Artline: умный выбор для современных пользователей