JavaScript 수학
숫자를 처리하는 일반적인 상황은 수학적입니다.
JavaScript 수학 연산자
수학 연산자는 숫자(문자나 변수)에 수학적 연산을 수행합니다.
연산자 | 설명 |
---|---|
+ | 가법 |
- | 감소 |
* | 곱셈 |
** | 곱셈(ES2016) |
/ | 나눗셈 |
% | 계수 |
++ | 증가 |
-- | 감소 |
수학 연산자
형식적인 수학적 연산은 두 수치를 처리합니다.
이 두 수는 literal value일 수 있습니다:
인스턴스
var x = 7 + 8;
또는 변수:
인스턴스
var x = a + b;
또는 표현식:
인스턴스
var x = (7 + 8) * a;
연산자와 연산자
수학적 연산에서 수는연산자와 연산자.
(두 연산자 사이에서 수행되는)연산은연산자정의
연산자와 연산자 | 연산자 | 연산자와 연산자 |
---|---|---|
7 | + | 8 |
계수
계수연산자(%
)나눗셈의 나머지를 반환합니다.
var x = 7; var y = 2; var z = x % y;
주석:계산에서 두 정수의 나눗셈은 몫과 나머지를 생성합니다.
주석:수학에서는 모듈러 연산의 결과는 수학적 나눗셈의 나머지입니다.
곱셈
곱셈 연산자(**)는 첫 번째 연산자를 두 번째 연산자의 제곱으로提拔합니다.
인스턴스
var x = 5; var z = x ** 2; // 결과는 25
x ** y가 생성하는 결과는 Math.pow(x,y)와 같습니다:
인스턴스
var x = 5; var z = Math.pow(x,2); // 결과는 25
연산자 우선순위
연산자 우선순위(Operator precedence)는 계산 표현식에서 수행되는 작업의 순서를 설명합니다.
인스턴스
var x = 200 + 50 * 2;
이 예제의 결과는 250 * 2인가요 아니면 200 + 100인가요?
덧셈과 곱셈의 우선순위는 무엇입니까?
전통적인 학교 수학에서, 곱셈은 우선순위가 있습니다.
곱셈(*
)와 나눗셈(%
)와 덧셈(+
)와 뺄셈(-
)는 더 높은우선순위.
학교 수학에서처럼, 구분자를 사용하여 우선순위를 변경할 수 있습니다:
인스턴스
var x = (200 + 50) * 2;
구분자를 사용할 때, 구분자 내의 연산자는 먼저 계산됩니다.
여러 연산자가 동일한 우선순위를 가질 때(예: 덧셈과 뺄셈이 그렇다면), 계산은 왼쪽에서 오른쪽으로 진행됩니다:
인스턴스
var x = 200 + 50 - 2;
JavaScript 연산자 우선순위 값
값 | 연산자 | 설명 | 인스턴스 |
---|---|---|---|
20 | ( ) | 표현식 그룹 | (3 + 4) |
19 | . | 구성원 | person.name |
19 | [] | 구성원 | person["name"] |
19 | () | 함수 호출 | myFunction() |
19 | new | 만들기 | new Date() |
17 | ++ | 포스트픽스 증가 | i++ |
17 | -- | 포스트픽스 감소 | i-- |
16 | ++ | 프리픽스 증가 | ++i |
16 | -- | 프리픽스 감소 | --i |
16 | ! | 논리 부정 | !(x==y) |
16 | typeof | 형식 | typeof x |
15 | ** | 곱수(ES7) | 10 ** 2 |
14 | * | 곱하기 | 10 * 5 |
14 | / | 나누기 | 10 / 5 |
14 | % | 모듈러 연산 | 10 % 5 |
13 | + | 추가 | 10 + 5 |
13 | - | 빼기 | 10 - 5 |
12 | << | 왼쪽 이동 | x << 2 |
12 | >> | 오른쪽 이동 | x >> 2 |
12 | >>> | 오른쪽 이동(无损) | x >>> 2 |
11 | < | 작음 | x < y |
11 | <= | 또는 작거나 같음 | x <= y |
11 | > | 빛 | x > y |
11 | >= | 또는 크거나 같음 | x >= y |
11 | in | 객체의 속성 | "PI" in Math |
11 | instanceof | 객체의 인스턴스 | instanceof Array |
10 | == | 같음 | x == y |
10 | === | 절대 같음 | x === y |
10 | != | 다릅니다 | x != y |
10 | !== | 절대로 다릅니다 | x !== y |
9 | & | 비트wise AND | x & y |
8 | ^ | 비트wise XOR | x ^ y |
7 | | | 비트wise 또는 | x | y |
6 | && | 논리와 | x && y |
5 | || | 논리 부정 | x || y |
4 | ? : | 조건 | ? "Yes" : "No" |
3 | = | 대입 | x = y |
3 | += | 대입 | x += y |
3 | -= | 대입 | x -= y |
3 | *= | 대입 | x *= y |
3 | %= | 대입 | x %= y |
3 | <<= | 대입 | x <<= y |
3 | >>= | 대입 | x >>= y |
3 | >>>= | 대입 | x >>>= y |
3 | &= | 대입 | x &= y |
3 | ^= | 대입 | x ^= y |
3 | |= | 대입 | x |= y |
2 | yield | 정지 함수 | yield x |
1 | , | 콤마 | 7, 8 |
주의:푸른빛으로 표시된 기술은 실험적이거나 권장되는 기술입니다 (ECMASScript 2016 또는 ES7)
ヒント:괄호 내의 표현식은 표현식의 나머지 부분에서 사용되기 전에 완전히 계산됩니다.