MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

연산자 우선순위

 연산자 우선순위는 연산자가 실행될 순서를 결정한다. 우선순위가 높은 연산자일수록 먼저 실행된다.

 다음은 일반적인 예이다.

3 + 4 * 5 // 23을 반환한다.

 곱셈 연산자(‘*’)는 덧셈 연산자(‘+’)보다 높은 우선순위를 가지기에 먼저 실행된다.

결합성

 결합성은 같은 우선순위를 가진 연산자들의 처리 순서를 결정한다. 예컨대, 다음 표현식에 주목하라.

a 연산자 b 연산자 c

 좌결합성은(왼쪽에서 오른쪽으로 결합한다.) 이것이 (a 연산자 b) 연산자 c로 처리됨을 뜻한다. 반면에 우결합성(오른쪽에서 왼쪽으로 결합한다.)은 이것이 a 연산자 (b 연산자 c) 로 해석됨을 뜻한다. 대입 연산자는 우결합성을 띠므로 다음과 같이 쓸 수 있다.

a = b = 5;

이 구문이 실행되면 a와 b는 5가 된다. 이는 대입 연산자가 대입한 값을 반환하기 때문이다. 처음에 b가 5로 설정된다. 그 다음에 ab = 5가 반환하는 값, 즉 그 대입 연산의 우측 피연산자인 5로 설정된다.

 다음 표는 우선순위를 기준으로 내림차순으로 정렬되었다.

우선순위 연산자 유형 결합성 연산자
19 묶음(괄호) 없음 ( … )
18 멤버 접근 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … . …
연산된 멤버 접근 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … [ … ]
객체 생성(인수 목록 있음) 없음 new … ( … )
17 함수 호출 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … ( … )
객체 생성(인수 목록 없음) 우결합성(오른쪽에서 왼쪽으로 결합한다.) new …
16 후위 증가 없음 … ++
후위 감소 없음 … --
15 논리적 NOT(논리 부정) 우결합성(오른쪽에서 왼쪽으로 결합한다.) ! …
비트 NOT(비트 반전) 우결합성(오른쪽에서 왼쪽으로 결합한다.) ~ …
수화(단항 플러스) 우결합성(오른쪽에서 왼쪽으로 결합한다.) + …
음수화(단항 부정) 우결합성(오른쪽에서 왼쪽으로 결합한다.) - …
전위 증가 우결합성(오른쪽에서 왼쪽으로 결합한다.) ++ …
전위 감소 우결합성(오른쪽에서 왼쪽으로 결합한다.) -- …
자료형 구하기 우결합성(오른쪽에서 왼쪽으로 결합한다.) typeof …
반환 무시 우결합성(오른쪽에서 왼쪽으로 결합한다.) void …
제거 우결합성(오른쪽에서 왼쪽으로 결합한다.) delete …
14 거듭제곱 우결합성(오른쪽에서 왼쪽으로 결합한다.) … ** …
곱셈 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … * …
나눗셈 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … / …
나머지 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … % …
13 덧셈 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … + …
뺄셈 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … - …
12 비트열 좌측 시프트 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … << …
비트열 우측 시프트(산술 우측 시프트) 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … >> …
비트열 부호 없는 우측 시프트(논리 우측 시프트) 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … >>> …
11 작음 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … < …
작거나 같음 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … <= …
좌결합성(왼쪽에서 오른쪽으로 결합한다.) … > …
크거나 같음 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … >= …
좌결합성(왼쪽에서 오른쪽으로 결합한다.) … in …
인스턴스 여부 판단 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … instanceof …
10 일치 판단(비교) 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … == …
비일치 판단(비교) 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … != …
엄밀한 일치 판단(비교) 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … === …
엄밀한 비일치 판단(비교) 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … !== …
9 비트 AND 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … & …
8 비트 XOR 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … ^ …
7 비트 OR 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … | …
6 논리적 AND 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … && …
5 논리적 OR 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … || …
4 조건부 우결합성(오른쪽에서 왼쪽으로 결합한다.) … ? … : …
3 대입 우결합성(오른쪽에서 왼쪽으로 결합한다.) … = …
… += …
… -= …
… **= …
… *= …
… /= …
… %= …
… <<= …
… >>= …
… >>>= …
… &= …
… ^= …
… |= …
2 넘김 우결합성(오른쪽에서 왼쪽으로 결합한다.) yield …
1 전개 없음 ... …
0 연속(쉼표) 좌결합성(왼쪽에서 오른쪽으로 결합한다.) … , …

문서 태그 및 공헌자

 이 페이지의 공헌자: K._
 최종 변경: K._,