JavaScript 연산자 우선순위
우선순위는 산술 표현식에서 작업의 실행 순서를 설명합니다.
예제
통통적인 수학에서는 곱셈이 먼저 실행됩니다:
let x = 100 + 50 * 3;
구호를 사용할 때, 구호 내 연산이 먼저 계산됩니다:
let x = (100 + 50) * 3;
연산자가 동일한 우선순위를 가질 때(예: +와 -), 그들은 왼쪽에서 오른쪽으로 계산됩니다:
let x = 100 / 50 * 3;
연산자 우선순위 값구호 내 표현식먼저다른 표현식 계산. 함수 결과를 다른 표현식에 사용이전실행. |
|||
값 | 연산자 | 설명 | 예제 |
---|---|---|---|
18 | ( ) | 표현식 그룹화 | (100 + 50) * 3 |
17 | . | 구성원 | car.name |
17 | [] | 구성원 | car["name"] |
17 | ?. | 선택 연결 ES2020 | x ?. y |
17 | () | 함수 호출 | myFunction() |
17 | new | 인자 있는 생성 | new Date("June 6,2025") |
16 | new | 인자 없는 생성 | new Date() |
증가 연산자후전위 증가먼저부전위 증가 실행. |
|||
15 | ++ | 후전위 증가 | i++ |
15 | -- | 후전위 감소 | i-- |
14 | ++ | 부전위 증가 | ++i |
14 | -- | 부전위 감소 | --i |
NOT 연산자 |
|||
14 | ! | 논리 NOT | !(x==y) |
14 | ~ | 위치 NOT | ~x |
일원 연산자 |
|||
14 | + | 일원적 더하기 | +x |
14 | - | 일원적 뺄셈 | -x |
14 | typeof | 데이터 타입 | typeof x |
14 | void | 평가 Void | void(0) |
14 | delete | 속성 제거 | delete myCar.color |
수학 연산자곱셈먼저곱셈 실행. 곱셈과 정수 나누기먼저덧셈과 뺄셈 실행. |
|||
13 | ** | 곱셈 ES2016 | 10 ** 2 |
12 | * | 곱셈 | 10 * 5 |
12 | / | 정수 나누기 | 10 / 5 |
12 | % | 나머지 | 10 % 5 |
11 | + | 덧셈 | 10 + 5 |
11 | - | 뺄셈 | 10 - 5 |
11 | + | 결합 | "Bill" + "Gates" |
이동 연산자 |
|||
10 | << | 왼쪽 정렬 | x << 2 |
10 | >> | 정렬(사이드 진행) | x >> 2 |
10 | >>> | 정렬(사이드 비진행) | x >>> 2 |
관계 연산자 |
|||
9 | in | 객체의 속성 | "PI" in Math |
9 | instanceof | 객체의 인스턴스 | x instanceof Array |
비교 연산자 |
|||
9 | < | 작은 | x < y |
9 | <= | 작은 평등 | x <= y |
9 | > | 빼어난 | x > y |
9 | >= | 빼어난 평등 | x >= Array |
8 | == | 일치 | x == y |
8 | === | 정확한 일치 | x === y |
8 | != | 불일치 | x != y |
8 | !== | 정확하지 않은 불일치 | x !== y |
위치 연산자 |
|||
7 | & | 위치 AND | x & y |
6 | ^ | 위치 XOR | x ^ y |
5 | | | 위치 OR | x | y |
논리 연산자 |
|||
4 | && | 논리 AND | x && y |
3 | || | 논리 OR | x || y |
3 | ?? | 공백 값 병합 ES2020 | x ?? y |
조건(삼원) 연산자 |
|||
2 | ? : | 조건 | ? "yes" : "no" |
할당 연산자할당 다른 연산에서이후실행. |
|||
2 | = | 간단 할당 | x = y |
2 | += | 덧셈 할당 | x += y |
2 | -= | 뺄셈 할당 | x -= y |
2 | *= | 곱셈 할당 | x *= y |
2 | **= | 곱셈 할당 | x **= y |
2 | /= | 정수 나누기 할당 | x /= y |
2 | %= | 나머지 할당 | x %= y |
2 | <<= | 왼쪽 정렬 할당 | x <<= y |
2 | >>= | 정렬 할당 | x >>= y |
2 | >>>= | 사이드 비진행 정렬 | x >>>= y |
2 | &= | 위치 AND 할당 | x &= y |
2 | |= | 위치 OR 할당 | x |= y |
2 | ^= | 비트 XOR 할당 | x ^= y |
2 | &= | 논리 AND 할당 | x &= y |
2 | ||= | 논리 OR 할당 | x ||= y |
2 | : | 코lon 할당 | x : 5 |
2 | => | 화살표 | x => y |
2 | yield | 일시정지/재개 | yield x |
2 | yield* | 위임 | yield* x |
2 | ... | 확장 | ...x |
1 | , | 쉼표 | x, y |