728x90
- 연산자는 하나 이상의 표현식을 대상으로 연산을 수행하여 하나의 값을 만든다.
산술 연산자
-
이항 산술 연산자
+
,-
,*
,/
,%
- 2개의 피연산자를 산술 연산해서 숫자 값을 반환함
- 피연산자의 값을 변경하지 않음
-
단항 산술 연산자
++
,--
,+
,-
- 1개의 피연산자를 산술 연산해서 숫자 값을 반환함
- 증감 연산자는 피연산자의 값을 변경함(암묵적 할당 발생)
+
는 피연산자를 변경하지 않고, 숫자값을 생성해서 반환함-
는 부호 반전
-
문자열 연결 연산자
+
연산자는 피연산자 중 단 1개라도 문자열이라면 문자열 연결 연산자로 작동함
할당 연산자
- 우항의 평가 결과를 좌항의 변수에 할당함
- 할당문은 표현식인 문 --> 값으로 사용된다.
=
,+=
,-=
,*=
,/=
,%=
비교 연산자
- 좌항과 우항을 비교하여 boolean을 반환함
- 동등 비교
==
,!=
- 좌항과 우항의 피연산자를 암묵적 타입 변환을 통해 타입을 일치시킨 후 비교함
- 그러므로 동등 비교 연산은 지양하는 편이 좋음
- 일치 비교
===
,!==
- 타입과 값이 모두 같은 경우에만 true를 반환함
- 대소 비교
<
,>
,<=
,>=
- 크기를 비교해서 boolean 값을 반환함
삼항 조건 연산자
조건식 ? true일 때 반환할 값 : false일 때 반환할 값;
- Ex) let result = value >= 70 ? true : false;
- 삼항 조건 연산문은 표현식으로 값으로 사용 <---> if-else문은 표현식x 값으로 사용 불가능
논리 연산자
||
,&&
,!
쉼표 연산자
,
- 왼쪽 --> 오른쪽으로 피연산자 평가, 마지막 피연산자의 평가 결과를 반환함
그룹 연산자
(
,)
- 연산자 우선순위가 높음 --> 연산자 우선순위를 모두 외우지 않았다면 적극적으로 사용하는 것을 권장함
typeof 연산자
typeof
- 피연산자의 데이터 타입을 문자열로 반환함
- null은 "object"가 반환됨 --> 버그임
- 선언하지 않은 식별자는 "undefined" 반환
지수 연산자
**
- 좌항의 피연산자는 밑, 우항의 피연산자는 지수로 연산하여 숫자 값을 반환함
Math.pow
와 같은 기능- 음수의 거듭제곱 --> (밑)**지수 형태로 밑을 괄호로 묶어야 함
그 외의 연산자
?.
: 옵셔널 체이닝 연산자??
: null 병합 연산자delete
: 프로퍼티 삭제new
: 생성자 함수를 호출할 때 인스턴스 생성에 사용instanceof
: 좌변의 객체가 우변의 생성자 함수와 연결된 인스턴스인지 판단in
: 프로퍼티가 존재하는지 판단
학습 도서
- '모던 자바스크립트 Deep Dive', 이웅모 저, 위키북스
'Language | Basic > JavaScript' 카테고리의 다른 글
[JavaScript 스터디] 데이터의 타입 변환, 단축 평가 (0) | 2021.01.22 |
---|---|
[JavaScript 스터디] 제어문 (0) | 2021.01.22 |
[JavaScript 스터디] 데이터 타입 (0) | 2021.01.22 |
[JavaScript 스터디] 표현식과 문 (0) | 2021.01.22 |
[JavaScript 스터디] 변수 (0) | 2021.01.22 |