English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
运算符优先级确定彼此之间解析运算符的方式。
具有较高优先级的运算符将成为具有较低优先级的运算符的操作数。
在下面的示例中,乘法的优先级高于加法,这决定了运算的结果。
// 首先将3乘以5,然后加10 var x = 10 + 3 * 5;测试看看‹/›
相反,如果我们想首先运行加法运算,则应将其分组在括号中,该括号始终具有最高优先级。
// 首先将10和3相加,然后乘以5 var x = (10 + 3) * 5;测试看看‹/›
使用括号时,首先要计算括号内的运算。
当许多运算具有相同的优先级(例如加法和减法)时,它们是从左到右计算的:
var x = 10 + 3 - 5;测试看看‹/›
表达式求值也受操作符结合性的影响。
结合性是指整个表达式求值的方向(从右到左或从左到右)。
如果一个表达式中出现两个或多个具有相同优先级的操作符,那么将首先计算哪个操作符?算子结合性回答了这个问题。
JavaScript에서의 모든 관련이나 우선 순위 문제를 해결하기 위해 다음 표를 참조하십시오.
연산자 | 사용 설명 | 연산자 결합 | 연산자 우선 순위 |
---|---|---|---|
() | 메서드/기능 호출, 그룹 | 왼쪽에서 오른쪽으로 | 최대- 1 |
[] | 배열 접근 | 왼쪽에서 오른쪽으로 | 1 |
. | 객체 속성 접근 | 왼쪽에서 오른쪽으로 | 1 |
++ | 자기 증가 | 오른쪽에서 왼쪽으로 | 2 |
-- | 자기 감소 | 오른쪽에서 왼쪽으로 | 2 |
- | 감소 | 오른쪽에서 왼쪽으로 | 2 |
! | 논리적 비정 | 오른쪽에서 왼쪽으로 | 2 |
~ | 비트적 비정 | 오른쪽에서 왼쪽으로 | 2 |
delete | 배열 값 또는 객체 속성 제거 | 오른쪽에서 왼쪽으로 | 2 |
new | 객체를 생성 | 오른쪽에서 왼쪽으로 | 2 |
typeof | 데이터 타입 반환 | 오른쪽에서 왼쪽으로 | 2 |
void | 반환 값을 지정하지 않음 | 오른쪽에서 왼쪽으로 | 2 |
/ | 나누기 | 왼쪽에서 오른쪽으로 | 3 |
* | 곱 | 왼쪽에서 오른쪽으로 | 3 |
% | 나머지 값 구하기 | 왼쪽에서 오른쪽으로 | 3 |
+ | 추가 | 왼쪽에서 오른쪽으로 | 4 |
+ | 문자열 결합 | 왼쪽에서 오른쪽으로 | 4 |
- | 감소 | 왼쪽에서 오른쪽으로 | 4 |
>> | 비트적 오른쪽 이동 | 왼쪽에서 오른쪽으로 | 5 |
<< | 비트적 왼쪽 이동 | 왼쪽에서 오른쪽으로 | 5 |
>, >= | 큰于人, 큰于人 또는 같은 | 왼쪽에서 오른쪽으로 | 6 |
<, <= | 소于人, 소于人 또는 같은 | 왼쪽에서 오른쪽으로 | 6 |
== | 일치 | 왼쪽에서 오른쪽으로 | 7 |
!= | 불일치 | 왼쪽에서 오른쪽으로 | 7 |
=== | 일치/절대로 일치함(일치하는 데이터 유형) | 왼쪽에서 오른쪽으로 | 7 |
!== | 불일치/절대로 다르지 않음(불일치하는 데이터 유형) | 왼쪽에서 오른쪽으로 | 7 |
& | 비트적 그리고 | 왼쪽에서 오른쪽으로 | 8 |
^ | 비트적 이지적 또는 | 왼쪽에서 오른쪽으로 | 9 |
| | 비트적 또는 | 왼쪽에서 오른쪽으로 | 10 |
&& | 논리적 그리고 | 왼쪽에서 오른쪽으로 | 11 |
|| | 논리적 또는 | 왼쪽에서 오른쪽으로 | 12 |
?: | 조건 분기 | 왼쪽에서 오른쪽으로 | 13 |
= | 할당 | 오른쪽에서 왼쪽으로 | 14 |
*=, /=, %=, +=,, -=, <<=, >>=, >>>=, &=, ^=, |= | 먼저의 연산자에 따라 배분 | 오른쪽에서 왼쪽으로 | 14 |
, | 다중 평가 | 왼쪽에서 오른쪽으로 | 최소:15 |