산술 연산자 | |
---|---|
더하기 + | 두 피연산자를 더했을 때의 값을 반환합니다.
|
빼기 - | 두 피연산자를 뺐을 때의 값을 반환합니다.
|
곱하기 * | 두 피연산자를 곱했을 때의 값을 반환합니다.
|
나누기 / | 두 피연산자를 나눴을 때의 값을 반환합니다.
|
나머지 % | 두 피연산자를 나눴을 때 나머지가 되는 값을 반환합니다.
|
거듭제곱 ** | 두 피연산자에 대하여 거듭제곱했을 때의 값을 반환합니다. 즉,
|
증가 ++ | 피연산자에 1을 더합니다. 증가 연산자는
반면,
|
감소 -- | 피연산자에 1을 뺍니다. 감소 연산자는 증가 연산자와 마찬가지로
반면,
|
단항부정 - | 피연산자의 부호를 반대로 바꾼 값을 반환합니다.
|
단항플러스 + | 피연산자가 숫자가 아니면 숫자 데이터로의 변환을 시도합니다. 숫자 데이터로의 변환을 실패할 경우,
|
연산자
JavaScript에서는 수학의 더하기(+), 빼기(-), 곱하기(×, JavaScript에선 *
), 나누기(÷, JavaScript에선 /
) 등 값을 계산하는 사칙연산자 뿐만 아니라 다른 다양한 연산을 위한 연산자(Operator)를 제공합니다.
연산자의 종류는 매우 다양합니다. 이 장에서 연산자를 소개하는 이유는 여러분에게 연산자 외우기 숙제를 주려는 것이 아니라 앞으로 이를 많이 쓰게 될 것이기 때문입니다.
산술 연산자
산술 연산자는 방금 예시로 든 사칙연산과 같은 연산을 위한 연산자입니다.
비교 연산자
비교 연산자는 두 값을 비교하고 비교 결과에 따른 불리언 값을 반환합니다. '두 값이 같은가?', '다른가?', '더 큰가?' 와 같은 의미를 지닙니다.
비교 연산자 | |
---|---|
동등 == | 두 피연산자의 값이 같으면
|
부등 != | 두 피연산자의 값이 다르면
|
일치 === | 두 피연산자의 값과 자료형 모두 같으면
|
불일치 !== | 두 피연산자의 값 또는 자료형이 다르면
|
큼 > | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크면
|
크거나 같음 >= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같으면
|
작음 < | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작으면
|
작거나 같음 <= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같으면
|
정보
무엇이든 적절한 때에 적절한 연산자를 사용하는 것이 좋지만, 그 외의 상황에서는 두 값의 일치/불일치를 판단할 때 동등 연산자(==
)보다 일치 연산자(===
)를 사용하는 것을 권장합니다. 일치 연산자는 값 뿐만 아니라 자료형까지 고려하기 때문에 더 엄밀한 비교가 가능하기 때문입니다. 가령, 다음과 같은 상황을 생각해봅시다.
if (x == 3) { // x의 값이 3일 경우 x = x + 2; // x에 2를 더합니다! ..이 뿐일까요? }
아마도 여러분들은 위 코드를 보고 x
의 값이 3
일 경우 x
의 값은 5
가 되리라 기대할 겁니다. 하지만 이 코드는 여러분들이 예상하지 못한 결과를 낳을 수도 있습니다.
if (x == 3) { // x가 문자열 "3"일 경우에도 참입니다. x = x + 2; // 따라서 이 경우엔 x의 값은 5가 아니라 문자열 "32"가 됩니다. }
JavaScript는 다른 프로그래밍 언어에 비해 자료형에 대해 관대하지만, 이는 프로그래머가 예상하지 못한 결과로 빠질 가능성이 상대적으로 높다는 것을 의미하기도 합니다. 이것이 바로 자료형까지 비교하는 동등 연산자를 권장하는 이유입니다. 마찬가지의 이유로 부등 연산자(!=
) 또한 불일치 연산자(!==
)를 대신 사용하기를 권장합니다.
할당 연산자
할당 연산자는 왼쪽 피연산자에 오른쪽 피연산자의 값을 할당합니다. 이전에 변수 할당에 사용한 =
연산자 또한 할당 연산자 중 하나입니다. 이 외에도 여러 할당 연산자가 있습니다.
할당 연산자 | |
---|---|
할당 = | 왼쪽 피연산자에 오른쪽 피연산자의 값을 할당합니다.
|
더하기 할당 += | 기존 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 더한 값을 왼쪽 피연산자에 할당합니다. 예를 들어,
|
빼기 할당 -= | 기존 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 뺀 값을 왼쪽 피연산자에 할당합니다. 예를 들어,
|
곱하기 할당 *= | 기존 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 곱한 값을 왼쪽 피연산자에 할당합니다. 예를 들어,
|
나누기 할당 /= | 기존 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 나눈 값을 왼쪽 피연산자에 할당합니다. 예를 들어,
|
나머지 할당 %= | 기존 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 나눴을 때 나머지가 되는 값을 왼쪽 피연산자에 할당합니다. 예를 들어,
|
거듭제곱 할당 **= | 기존 왼쪽 피연산자의 값에 오른쪽 피연산자의 값만큼 거듭제곱한 값을 왼쪽 피연산자에 할당합니다. 예를 들어,
|
논리 연산자
논리 연산자는 '그리고', '또는', '아니다'를 연산으로 제공하며, 피연산자들을 불리언 데이터로 형 변환한 값을 이용합니다.
논리 연산자 | |
---|---|
논리AND && |
|
논리OR || |
정보 기호 |
논리NOT ! |
|