연산자는 프로그래밍 언어에서 특정 연산을 하도록 하는 문자이다.
산술 연산자
사칙 연산과 같은 작업을 하는 연산자를 의미한다.
+
: 덧셈-
: 뺄셈*
: 곱셈/
: 나눗셈++
: 특정 변수에 1을 바로 더한다.--
: 특정 변수에 1을 바로 빼준다.
let a = 1;
a++;
++a;
console.log(a); // 3
++ 가 1을 바로 더해주므로 1 + 1 + 1 = 3 이 된다.
log 에서 ++
가 변수 이름 앞에 오는 것과 뒤에 오는 것에는 차이가 있다.
let a = 1;
console.log(a++); // 1
console.log(++a); // 3
console.log(a++)
를 할 때는 1을 더하기 직전 값을 보여주고
console.log(++a)
를 할 때는 1을 더한 다음의 값을 보여준다.
뺄셈에서도 동일하게 적용된다.
대입 연산자
특정 값에 연산을 한 값을 바로 설정할 때 사용할 수 있는 연산자이다.
=
는 대입 연산자에 해당한다.
하지만 새로운 변수 선언에 사용되는 =
는 대입 연산자에 해당하지 않는다.
let a = 1;
a = a + 3;
// 대입 연산자 사용
let a = 1;
a += 3;
논리 연산자
Boolean 타입을 위한 연산자이다.
!
: NOT&&
: AND||
: OR
NOT (!)
NOT 연산자는 true 는 false 로, false 는 true 로 바꿔준다.
const a = !true;
console.log(a); // false
const b = !false;
console.log(b); // true
AND (&&)
둘 다 참일때만 참이다. 표현식은 앞에 먼저 평가하고, 뒤에를 평가한다.
// true 인 경우
const a = true && true;
console.log(a);
// false 인 경우
let f = false && false;
f = false && true;
f = true && false;
OR (||)
둘 중에 하나만 참이면 참이다.
// true
let t = true || false;
t = false || true;
t = true || true;
// false
let f = false || false;
연산 순서
NOT → AND → OR
const value = !((true && false) || (true && false) || !false);
// 괄호로 감싸져 있을 때에는 가장 마지막에 처리하므로 맨 앞 NOT 은 나중에 처리한다.
// 우선 NOT 을 처리한다.
!((true && false) || (true && false) || true);
// 그 다음엔 AND 를 처리한다.
!(false || false || true);
// OR 연산자를 좌측에서 우측 방향으로 처리한다.
!true;
// 결과값: false;
비교 연산자
두 값을 비교할 때 사용한다.
일치 확인
일치한다면 true, 일치하지 않는다면 false 를 반환한다.
==
2개는 값을 비교
===
3개는 값과 타입까지 비교
const a = 1;
const b = 1;
const equals = a === b;
console.log(equals); // true
==
의 경우 타입검사까지 이루어지지 않기 때문에
- 숫자 1과 문자 '1' 이 동일한 값으로 간주된다.
- 0 과 false 도 같은 값으로 간주된다.
- undefined 와 null 도 같은 값으로 간주된다.
따라서 두 값이 일치하는지 비교할 때는 ===
를 사용할 것을 권장한다. ==
를 사용하다보면 실수를 할 확률이 높아진다.
불일치 확인
두 값이 일치하지 않는지 확인할 때는 !==
를 사용한다.
!=
를 사용하게 되면 타입 검사를 하지 않는다.
두 값이 일치하지 않는지 확인할 때에도 !==
를 사용할 것을 권장한다.
const value = 'a' !== 'b'; // true
console.log(1 != '1'); // false
console.log(1 !== '1'); // true
대소 비교
두 값 중에 무엇이 더 크고 작은지 비교하기 위해서는 다음 연산자를 사용할 수 있다.
const a = 10;
const b = 15;
const c = 15;
console.log(a < b); // true
console.log(b > a); // true
console.log(b >= c); // true
console.log(a <= c); // true
console.log(b < c); // false
문자열 붙이기
두 문자열을 붙일 때는 + 로 할 수 있다.
const a = '안녕';
const b = '하세요';
console.log(a + b); // 안녕하세요