JavaScript

연산자 우선 순위

연산자 우선 순위

  • 지금까지 자바스크립트의 여러 연산자에 대해 알아보았습니다.
  • 연산자를 하나만 사용하는 경우도 있지만 여러가지를 복합적으로 사용하게 되는 경우도 발생합니다.
  • 따라서 연산자에도 우선 순위를 매겨 연산자의 실행 순서를 결정합니다.
  • 우선 순위가 높은 연산자가 먼저 실행됩니다.
  • 공식 문서에 나와있는 연산자 우선 순위는 다음과 같습니다.

 

우선순위 연산자 유형 결합성 연산자
20 그룹 없음 ( … )
19 멤버 접근 좌결합성 … . …
계산된 멤버 접근 좌결합성 … [ … ]
new (매개변수 리스트 존재) 없음 new … ( … )
함수 호출 좌결합성 … ( … )
18 new (매개변수 리스트 생략) 우결합성 new …
17 후위 증가 없음 … ++
후위 감소 … --
16 논리 NOT 우결합성 ! …
비트 NOT ~ …
단항 양부호 + …
단항 부정 - …
전위 증가 ++ …
전위 감소 -- …
typeof typeof …
void void …
delete delete …
await await …
15 거듭제곱 우결합성 … ** …
14 곱셈 좌결합성 … * …
나눗셈 … / …
나머지 … % …
13 덧셈 좌결합성 … + …
뺄셈 … - …
12 비트 왼쪽 시프트 좌결합성 … << …
비트 오른쪽 시프트 … >> …
비트 부호 없는 오른쪽 시프트 … >>> …
11 미만 좌결합성 … < …
이하 … <= …
초과 … > …
이상 … >= …
in … in …
instanceof … instanceof …
10 동등 좌결합성 … == …
부등 … != …
일치 … === …
불일치 … !== …
9 비트 AND 좌결합성 … & …
8 비트 XOR 좌결합성 … ^ …
7 비트 OR 좌결합성 … | …
6 논리 AND 좌결합성 … && …
5 논리 OR 좌결합성 … || …
4 조건 우결합성 … ? … : …
3 할당 우결합성 … = …
… += …
… -= …
… **= …
… *= …
… /= …
… %= …
… <<= …
… >>= …
… >>>= …
… &= …
… ^= …
… |= …
2 yield 우결합성 yield …
yield* yield* …
1 쉼표 / 시퀀스 좌결합성 … , …

 

 

  • 하지만 이것을 전부 외울 수는 없습니다.
  • 일반적으로 사람이 논리적으로 생각하는 방식 대로 우선 순위가 매겨져 있습니다.
  • 그래도 헷갈리는 경우가 생기면 경우 괄호를 사용하여 해결하면 됩니다.(괄호가 우선 순위 20으로 가장 높기 때문입니다.)

 

 

 

댓글

댓글 본문