산술 연산자
이항 산술 연산자
- 2개의 피연산자를 산술 연산
- 피연산자의 값 변경X, 새로운 값 생성
단항 산술 연산자
연산자 | 의미 | |
---|
++ | 증가 | 피연산자의 값 변경 |
-- | 감소 | 피연산자의 값 변경 |
+ | 피연산자에 어떠한 효과도 없음 | - 숫자 타입 아닌 피연산자에 사용 => 숫자 타입으로 변환 - 피연산자 중 하나 이상 문자열 => 문자열 연결 연산자로 동작 |
- | 양수를 음수로, 음수를 양수로 반환 | |
증가/감소(++/--) 연산자
var x = 1;
x++;
console.log(x);
x--;
console.log(x);
- 전위 증가/감소 연산자 : 먼저 피연산자의 값을 증가/감소시킨 후, 다른 연산 수행
- 후위 증가/감소 연산자 : 먼저 다른 연산 수행 후, 피연산자의 값을 증가/감소
var x = 5, result;
result = x++;
console.log(result, x);
result = ++x;
console.log(result, x);
result = x--;
console.log(result, x);
result = --x;
console.log(result, x);
할당 연산자
연산자 | 예 | 동일 표현 |
---|
= | x = 5 | x = 5 |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x - 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
비교 연산자
- 좌항, 우항의 피연산자 비교 후 결과를 불리언 값으로 반환
동등/일치 비교 연산자
연산자 | 예시 | 설명 |
---|
== | 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보다 작거나 같다 |
삼항 조건 연산자
조건식 ? true일 때 반환할 값 : false일 때 반환할 값
var result = score >= 60 ? 'pass' : 'fail';
- if ... else 문을 사용하면 유사하게 처리할 수 있음
- 삼항 조건 연산자 표현식은 값으로 사용 가능
- 조건에 따라 어떤 값을 결정 => if ... else 문보다 유리함
논리 연산자
쉼표 연산자
- 왼쪽 피연산자부터 차례대로 평가
- 마지막 피연산자의 평가 결과 반환
var x, y, z;
x = 1, y = 2, z = 3;
그룹 연산자
- 소괄호
()
로 피연산자를 감싸줌
- 연산자의 우선순위 조절
- 그룹 연산자의 연산자 우선순위가 가장 높음
10 * 2 + 3;
10 * (2 + 3);
typeof 연산자
- 피연산자의 데이터 타입을 문자열로 반환
- null 값을 연산할 때는 null 이 아닌 object를 반환 (자바스크립트 첫 번째 버전의 버그)
+) null 타입을 확인할 때는 일치 연산자(===
) 사용
지수 연산자
- ES7에서 도입됨
- Math.pow( )와 동일한 기능
2 ** 2;
2 ** -2;
(-5) ** 2;
var num = 5;
num **= 2;
그 외의 연산자
연산자 | 의미 |
---|
?. | 옵셔널 체이닝 연산자 |
?? | null 병합 연산자 |
delete | 프로퍼티 삭제 |
new | 생성자 함수 호출 시 인스턴스 생성 |
instanceof | 좌변의 객체가 우변의 생성자 함수와 연결된 인스턴스인지 판별 |
in | 프로퍼티 존재 확인 |