- 산술 연산자
산술연산자는 사칙연산과 같은 작업을 하는 연산자를 의미한다
- + : 덧셈
- - : 뺄셈
- * : 곱셈
- / : 나눗셈
위 4가지가 가장 기본적인 산술 연산자이다.
let a = 1 + 2;
console.log(a);
let a = 1 + 2 - (3 * 4) / 4;
console.log(a);
이런것도 가능하다. 이것 또한 산술연산자의 일부이다.
let a = 1;
a++;
++a;
console.log(a);
결과는 3이 나타납니다. ++는 특정 변수에 1을 바로 더해준다. 그런데, ++가 변수 이름 앞에 오는것과 뒤에 오는것에는 차이가 있다
let a = 1;
console.log(a++);
console.log(++a);
console.log(a++);를 할때는 1을 더하기 직전 값을 보여주고
console.log(++a);를 할때는 1을 더한 다음의 값을 보여준다는 차이가 있다.
덧셈 외에도 뺄셈도 똑같이 할수 있다.
let a = 1;
a--;
console.log(a);
결과는 0 이 나온다.
대입 연산자
대입 연산자는 특정 값에 연산을 한 값을 바로 설정 할 때 사요 할 수 있는 연산자 입니다. 예를 들어서 다음과 같은코드가 있다면
let a = 1;
a = a + 3;
위 코드를 대입 연산자를 사용하면 다음과 같이 작성 가능하다.
let a = 1;
a += 3;
덧셈 말고 다른 연산도 가능하다.
let a = 1;
a += 3;
a -= 3;
a *= 3;
a /= 3;
console.log(a);
결과는 1이 나타나게 됩니다.
논리 연산자
논리 연산자는, 불리언 타입(true 혹은 false)를 위한 연산자이다. 논리 연산자는 다음 장에서 우리가 if문을 배울 때 매우 유용하다.
총3가지가 있다.
- ! : NOT
- & : AND
- || : OR
NOT
NOT 연산자는 true는 false로, false는 true로 바꿔준다.
const a = !true;
console.log(a);
a의 값은 false이다.
const b = !false;
console.log(b);
b값은 true가 된다.
AND
AND 연산자는 양쪽의 값이 둘다 true일때만 결과물이 true 이다.
const a = true && true;
console.log(a);
다음과 같은 상황엔 모두 false이다
let f = false && false;
f = false && true;
f = true && false;
OR
OR 연산자는 양쪽의 값 중 하나라도 true라면 결과물이 true이다. 그리고, 두값이 둘다 false일 때에만 false이다.
다음 상황엔 t값은 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가 된다.
비교 연산자
비교 연산자는 두값을 비교 할떄 사용 할수 있다.
두 값이 일치 하는지 확인
const a = 1;
const b = 1;
const equals = a === b;
console.log(equals);
===는 두 값이 일치 하는지 확인해 준다. 일치한다면, true 일치하지 않는다면 false가 나타난다. 위 코드의 경우엔 true가 나타난다.
두 값이 일치 하는지 확인 할떄 =를 3번 사용하는데, 2개로도 비교를 할수는 있다.
const a = 1;
const b = 1;
const equals = a == b;
console.log(equals);
==와 ===의 차이점은 ==는 타입검사 까지는 하지 않는다는 것이다.
예를 들어 == 를 사용하면 숫자 1과 문자'1'이 동일한 값으로 간주된다.
const a = 1;
const b = '1';
const equals = a == b;
console.log(equals);
결과 : true
그리고, 0과 false도 같은 값으로 간주 된다.
const a = 0;
const b = false;
const equals = a == b;
console.log(equals);
결과 : true;
그리고 undefined와 null도 같은 값으로 간주된다.
const a = null;
const b = undefined;
const equals = a == b;
console.log(equals);
결과 : true;
따라서 ==보단 ===를 사용하는것이 실수를 줄일수가 있어서 ===를 더 추천한다.
두 값이 일치하지 않는지 확인
두 값이 일치하지 않는지 확인 할떄는 !==를 사용하면 된다.
const value = 'a' !== 'b';
결과는 true가 된다
!=를 사용하면 타입 검사를 하지 않는다.
console.log(1 != '1');
console.log(1 !== '1');
!==를 사용하는것을 추천한다.
크고 작음
두 값 중에서 무엇이 더 크고 작은지 비교하기 위해서 다음 연산자를 사용할수 있다.
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); // 안녕하세요
'공부내용정리 > JavaScript' 카테고리의 다른 글
함수 (0) | 2021.04.13 |
---|---|
조건문 (0) | 2021.04.12 |
변수와 상수 (0) | 2021.04.10 |
JavaScript Async - Await (0) | 2021.04.08 |
JavaScript Promise (0) | 2021.04.08 |