만약 우선순위가 같은 연산자만 사용하면 어떻게 될까요? 이럴 때는 결합 순서에 의해 결정됩니다. 예를 들어, 다음과 같은 코드가 있습니다.
09/03/operator-2.js
let num = 10;
let result = num *= 3;
console.log(result); // 30
코드에서 눈여겨볼 부분은 둘째 줄입니다. 대입과 복합 대입 연산자를 사용했는데, 두 연산자는 우선순위가 같습니다. 이러면 연산자의 우선순위는 판별할 수 없으므로 결합 순서에 의해 연산 순서가 결정됩니다. 대입 연산자와 복합 대입 연산자는 모두 결합 순서가 우 → 좌에 해당하므로 그림처럼 연산됩니다.
그림 9-7 결합 순서에 의한 연산 순서
수코딩의 조언
연산자 우선순위는 생각보다 종류도 많고, 결합 순서도 조금씩 다르기 때문에 이 모두를 외워서 사용하기는 현실적으로 어렵습니다. 그래서 가능한 한 우선순위가 가장 높은 그룹 연산자를 사용해 식의 우선순위를 단순하게 정리하는 것이 좋습니다.