5.4.4 우선순위(Precedence)
5.4.4 우선순위(Precedence)
내림차순 우선순위 순서로(즉 표의 위쪽 연산자가 먼저 평가됨):
| 연산자 | 참고 | 결합성 |
|---|---|---|
!, ++, -- |
접미 단항 연산자 | right |
~, !, -, ++, -- |
접두 단항 연산자 | right |
% |
modulo | left |
*, / |
multiplication, division | left |
+, - |
addition, subtraction | left |
<<, >>, >>> |
bitwise shifts | left |
&, ` |
,^` |
bitwise operators |
==, !=, <, <=, >, >= |
comparison | left |
... |
interval | left |
&& |
logical and | left |
|| |
logical or | left |
@ |
metadata | right |
?: |
ternary | right |
%=, *=, /=, +=, -=, <<=, >>=, >>>=, &=, |=, ^= |
compound assignment | right |
=> |
arrow | right |
C 계열 우선순위와의 차이(Differences from C-like precedence)
많은 언어(C++, Java, PHP, JavaScript 등)는 C와 같은 연산자 우선순위 규칙을 사용해요. Haxe에는 이 규칙과의 몇 가지 차이가 있습니다:
%(modulo)는*와/보다 높은 우선순위를 가지며, C에서는 같은 우선순위예요.|,&,^(비트 연산자)는 같은 우선순위를 가지며, C에서는 세 연산자가 모두 서로 다른 우선순위예요.|,&,^(비트 연산자)는==,!=등(비교 연산자)보다도 높은 우선순위를 가집니다.
출처: Precedence
본문
우선순위 표
표는 접미 단항부터 화살표까지 내림차순 우선순위와 결합성을 보여줍니다. 위에 있을수록 먼저 평가됩니다.
C와의 차이
Haxe의 modulo는 곱셈/나눗셈보다 우선순위가 높고, 비트 연산자들은 서로 같으면서 비교 연산자보다 높은 우선순위를 가집니다. C와 다릅니다.