연산자 개념 정리
연산자
// 산술 연산자
5 * 4
// 문자열 연결 연산자
'My name is ' + 'Lee'
// 할당 연산자
color = 'red'
// 비교 연산자
3 > 5
// 논리 연산자
true && false
// 타입 연산자
typeof 'Hi'
- 하나 이상의 표현식을 대상으로 산술,할당,비교,논리,타입,지수 연산등을 수행해 하나의 값을 만든다.
- 연산의 대상은 피연산자라고 함
- 피 연산자와 연사자의 조합으로 이뤄진 연산자 표현식도 값으로 평가될 수 있는 표현식이다.
- 피연산자 : '값'의 명사의 역할
- 연산자 : '피연산자를 연산하여 새로운 값을 만든다'의 동사의 역할
산술 연산자
- 피연산자를 대상으로 수학적 계산을 수행, 새로운 숫자 값을 만든다. (산술 연산이 불가능 : NaN 반환)
이항 산술 연산자
- 2개의 피연산자를 산술 연산하여 숫자 값을 만든다.
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
/ | 나눗셈 |
% | 나머지 |
단항 산술 연산자
- 1개의 피연산자를 산술 연산하여 숫자 값을 만든다.
++ | 증가 |
-- | 감소 |
+ | 어떠한 효과 X / 음수를 양수로 반전X |
- | 양수를 음수로 반전O / 음수를 양수로 반환O |
할당 연산자
할당 연산자 | 예 | 동일 표현 |
= | 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 |
- 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다.
비교 연산자
- 좌항과 우항의 피연산자를 비교 -> 결과를 불리언 값으로 반환
- if문 / for문등의 제어문의 조건식에서 주로 사용
동등/일치 비교 연산자
비교 연산자 | 의미 | 사례 | 설명 |
== | 동등 비교 | x == y | x와 y의 값이 같음 |
=== | 일치 비교 | x === y | x와 y의 값과 타입이 같음 |
!= | 부동등 비교 | x != y | x와 y의 값이 다름 |
!== | 불일치 비교 | x !== y | x와 y의 값과 타입이 다름 |
- 동등,부동등 비교는 예측하기 어려운 결과를 만들어내기 때문에 일치,불일치 연산자를 사용해야함
주의 사항
- NaN은 자신과 일치하지 않는 유일한 값이다.
NaN === NaN; // false
- 양의 0과 음의 0을 비교하면 true를 반환한다.
0 === -0; // true
0 == -0; // true
위의 상황에 정확하게 구분짓는 방법
- Object.is() 함수 사용 : 예측 가능한 정확한 비교 결과를 반환
-0 === +0 // true
Object.is(-0,+0) // false
NaN === NaN // false
Object.is(NaN,NaN) // true
대소 관계 비교 연산자
대소 관계 비교 연산자 | 예제 | 설명 |
> | x > y | x가 y보다 크다 |
< | x < y | x가 y보다 작다 |
>= | x >= y | x가 y보다 크거나 같다 |
<= | x <= y | x가 y보다 작거나 같다 |
삼항 조건 연산자
- 조건식의 평가 결과에 따라 반환할 값을 결정한다.
- 삼항 조건자 표현식은 값으로 평가할 수 있는 표현식인 문이다.
var x = 2;
var result = x % 2 ? '홀수' : '짝수';
console.log(result); // 짝수
논리 연산자
논리 연산자 | 의미 |
|| | 논리합 |
&& | 논리곱 |
! | 부정 |
- || -> 하나라도 true면 true 반환
- && -> 하나라도 false면 false 반환
- ! -> 언제나 불리언 값 반환
쉼표 연산자
- 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환
var x, y, z;
x = 1, y = 2, z = 3; // 3
그룹 연산자
- 소괄호 () 로 피연산자를 감싸는 그룹 연산자는 자신의 피연산자인 표현식을 가장 먼저 평가
- 그룹 연산자를 사용하면 연산자의 우선 순위를 조절 가능
10 * 2 + 3 // 23
10 * (2 + 3) // 50
연산자의 부수 효과
- 대부분의 연산자는 부수 효과가 없음
- 부수 효과가 있는 연산자 : 할당 연산자,증가/감소 연산자,delete 연산자
'모다딥 공부 정리' 카테고리의 다른 글
[ 모다딥 공부 정리 ] 06장 데이터 타입 (0) | 2023.04.20 |
---|---|
[ 모다딥 공부 정리 ] 05장 표현식과 문 (0) | 2023.04.19 |
[ 모다딥 공부 정리 ] 04장 변수 (0) | 2023.04.19 |