본문 바로가기

Javascript

[JavaScript] 연산자 우선순위

반응형

 

연산자를 하나만 사용하는 경우도 있지만 여러가지를 복합적으로 사용하게 되는 경우도 발생한다.

  따라서 연산자에도 우선 순위를 매겨 연산자의 실행 순서를 결정하고, 우선 순위가 높은 연산자가 먼저 실행된다.

  특히, 우결합성이 있는 조건 연산자( ? : )와 우선순위가 헷갈리는 논리 AND, OR 연산자( &&, || )는 주의하여 사용하자.

 

공식 문서에 나와있는 연산자 우선 순위는 다음과 같고, 이를 전부 외울 수는 없다.

  일반적으로 사람이 논리적으로 생각하는 방식 대로 우선 순위가 매겨져 있으나, 애매한 경우에는 괄호를 사용하여 해결하면 된다.

 

 

우선 순위 연산자 유형 결합성 연산자
21 그룹 없음 ( … )
20 멤버 접근 좌결합성 … . …
계산된 멤버 접근 좌결합성 … [ … ]
new (매개변수 리스트 존재) 없음 new … ( … )

함수 호출

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

 


[참고] developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/연산자_우선순위

 

연산자 우선순위

연산자 우선순위는 연산자를 실행하는 순서를 결정합니다. 우선순위가 높은 연산자가 먼저 실행됩니다.

developer.mozilla.org

 

반응형

❥ CHATI Github