1. 연산자
(1) 할당 연산자
- 할당
=
:x = y
꼴에서y
를x
에 할당한다. - 더하기 복합 대입(할당) 연산
+=
:x += y
꼴에서x
와y
를 더한 값을x
에 할당한다.x = x + y
와 같다. - 빼기 복합 대입(할당) 연산
-=
:x -= y
꼴에서x
와y
를 뺀 값을x
에 할당한다.x = x - y
와 같다. - 곱하기 복합 대입(할당) 연산
*=
:x *= y
꼴에서x
와y
를 곱한 값을x
에 할당한다.x = x * y
와 같다. - 나누기 복합 대입(할당) 연산
/=
:x /= y
꼴에서x
와y
로 나눈 몫을x
에 할당한다.x = x / y
와 같다. - 나머지 복합 대입(할당) 연산
%=
:x %= y
꼴에서x
와y
로 정수부까지 나눈 나머지를x
에 할당한다.x = x % y
와 같다. - 거듭제곱 복합 대입(할당) 연산
**=
:x **= y
꼴에서x
의y
승 값을x
에 할당한다.x = x ** y
와 같다. - 논리 AND 복합 대입(할당) 연산
&&=
:x &&= y
꼴에서x
와y
가 모두 참(true
)인가의 여부를x
에 할당한다.x = x && y
와 같다. - 논리 OR 복합 대입(할당) 연산
||=
:x ||= y
꼴에서x
와y
중 하나 이상의 참(true
)인가의 여부를x
에 할당한다.x = x || y
와 같다. - Nullish 병합 복합 대입(할당) 연산
??=
:x ??= y
꼴에서x
가 Nullish(undefined
혹은null
)일 경우y
값을 할당하고, 아니라면x
값을 재할당한다.x = x === undefined || x === null ? y : x
와 같다.
(2) 비교 연산자
- 동등
==
:x == y
꼴에서x
와y
의 값이 같은가에 대한 여부이다. 타입 비교를 하지 않음에 유의한다. - 부등
!=
:x != y
꼴에서x
와y
의 값이 다른가에 대한 여부이다. 타입 비교를 하지 않음에 유의한다. - 일치
===
:x === y
꼴에서x
와y
의 값과 타입이 같은가에 대한 여부이다. - 불일치
!==
:x === y
꼴에서x
와y
의 값 혹은 타입이 다른가에 대한 여부이다. - 초과
>
:x > y
꼴에서x
가y
보다 큰가에 대한 여부이다. - 미만
<
:x < y
꼴에서x
가y
보다 작은가에 대한 여부이다. - 이상
>=
:x >= y
꼴에서x
가y
이상인가에 대한 여부이다. - 이하
<=
:x <= y
꼴에서x
가y
이하인가에 대한 여부이다.
(3) 산출 연산자
- 더하기
+
:x + y
꼴에서x
와y
를 더한 값이다. 단, 피연산자 중 하나 이상이 문자열일 경우 문자열 합치기를 수행한다. - 빼기
-
:x - y
꼴에서x
와y
를 뺀 값이다. - 곱하기
*
:x * y
꼴에서x
와y
를 곱한 값이다. - 나누기
/
:x / y
꼴에서x
와y
로 나눈 몫이다. - 나머지
%
:x % y
꼴에서x
와y
로 정수부까지 나눈 나머지이다. - 단항 부정
-
:-x
꼴에서x
의 부호를 뒤집는다. - 단항 플러스
+
:+x
꼴에서x
가 양수(혹은 부호 불변)임을 강조하거나,x
가 숫자가 아닐때 숫자로의 변형을 시도한다. - 거듭제곱
**
:x ** y
꼴에서x
의y
승이다. - 증가
++
- 전위증가 :
++x
꼴에서 구문 실행전x
에 1을 더한다. - 후위증가 :
x++
꼴에서 구문 실행후x
에 1을 더한다.
- 전위증가 :
- 감소
--
- 전위감소 :
--x
꼴에서 구문 실행전x
에 1을 뺀다. - 후위감소 :
x--
꼴에서 구문 실행후x
에 1을 뺀다.
- 전위감소 :
(4) 논리 연산자
- 논리 AND
&&
:x && y
꼴에서x
와y
가 모두 참(true
)인가의 여부이다. - 논리 OR
||
:x || y
꼴에서x
와y
중 하나라도 참(true
)인가의 여부이다. - 논리 NOT, 부정
!
:!x
꼴에서x
의 논리 값을 반전(부정)한다.
(5) 삼항 연산자
c ? t : f
꼴에서 조건c
가 참(true
)일때 값t
가, 거짓(false
)일때 값f
가 된다.
(6) 기타 연산자
typeof
:type x
꼴에서x
의 타입인 문자열이다.- Optional 체이닝 멤버 접근자(Optional Chaining Member Access Operator)
?.
:x?.y
꼴에서x
가 Nullish 일 때 오류를 발생시키는 것이 아닌x.?y
의 연산 결과로undefined
를 대신하여 사용한다. - Nullish 병합 연산자(Nullish coalescing Operator)
??
:x ?? y
꼴에서x
가 Nullish 일 경우y
값을 대신하여 사용한다.
(7) 우선순위
- 연산자 사이에는 연산되는 우선순위가 있으며 아래는 숫자가 낮을 수록 우선순위가 높은 것으로 한다.
- 멤버 접근 연산자(
.
,[]
) - 객체 호출/생성(
new
,()
) - 증감 등(
++
,--
,+
,-
,!
,typeof
) 단, 여기서+
와-
는 더하기와 빼기 연산이 아닌 부호로써의 역할로 제한한다. - 거듭제곱(
**
) - 곱하기 및 나누기 등(
*
,/
,%
) - 더하기 및 빼기 (
+
,-
) - 비교 연산 일부 (
>
,<
,>=
,<=
) - 비교 연산 일부 (
==
,!=
,===
,!==
) - 논리 AND(
&&
) - 논리 OR(
||
) - 삼항 연산(
~ ? ~ : ~
) - 할당 연산(
=
,+=
,-=
,*=
,/=
,%=
,&&=
,||=
,??=
등) - 쉼표 연산(
,
)
- 멤버 접근 연산자(
'JavaScript' 카테고리의 다른 글
[Javascript] 6. 배열(Array) (0) | 2023.03.17 |
---|---|
[Javascript] 5. 함수(Function) (0) | 2023.03.17 |
[Javascript] 4. 반복문 (0) | 2023.03.17 |
[Javascript] 3. 조건문 (0) | 2023.03.16 |
[Javascript] 1. 변수와 상수 (0) | 2023.03.16 |