지극히 개인적인 공부 노트/자바스크립트(JS) & 타입스크립트(TS)

[JavaScript] 자바스크립트 연산자

AS J 2021. 8. 21. 23:24

1. 산술 연산자

여느 프로그래밍 언어에도 있듯이 자바스크립트에도 다음과 같은 기본적인 산술 연산자가 존재한다.

+(더하기), -(빼기), *(곱하기), /(나누기), %(나머지)

특이한 점은 자바스크립트에선 string 타입의 숫자에도 똑같이 숫자의 산술 연산자 방식으로 적용된다. 단, 더하기는 문자에 문자를 이어 쓰는, 문자열 덧셈 방식으로 동작한다는 점을 유의해야 한다.

// 덧셈
6 + 3  // 9
6 + '3'  // '63'
'6' + '3'  // '63'

// 뺄셈
6 - 3  // 3
6 - '3'  // 3
'6' - '3'  // 3

// 곱셈
6 * 3  // 18
'6' * 3  // 18
'6' * '3'  // 18
parseInt(7 / 2)  // 몫은 나눗셈을 진행한 후에 버림을 수행함으로써 구할 수 있음

// 나눗셈
6 / 3  // 2
6 / '3'  // 2
'6' / '3'  // 2

// 나머지
6 % 3  // 0
'6' % 3  // 0
'6' % '3'  // 0

 

2. 증감 연산자

숫자 하나의 증감을 나타내는 연산자는 다음과 같이 사용할 수 있다. 증감 연산자는 변수의 앞뒤 위치에 따라 계산과 값 저장의 순서가 달라진다.

++, --
let num1 = 1
console.log(++num1); // 2 출력 후, 2를 저장. num1+1 계산 후 num1 출력

let num2 = 2
console.log(num2++); // 2 출력 후, 3을 저장. num2 출력 후 num2+1 계산

 

3. 비교 연산자

비교 연산자란 어떤 데이터를 비교하고 참(true)이나 거짓(false)으로 값을 반환하는 연산자로, 자바스크립트에서 비교 연산자의 종류는 다음과 같다.

==, ===, !=, >, >=, <, <=

자바스크립트에서는 등호(=)를 연달아서 3개 붙인 비교 연산자도 존재한다. 등호 2개(==)와 등호 3개(===)로 이루어진 연산자의 차이점은 아래와 같다.

  • ==: 비교하는 두 데이터의 값이 같은지 확인
  • ===: 비교하는 두 데이터의 값이 같으면서 '데이터 타입'까지 같은지 확인
const a = 2

// ==
a == 2  // true
a == '2'  // true
a == 'a'  // false

// ===
a === 2  // true
a === '2'  // false

// !=
a != 2  // false
a != '2'  // false
a != 3  // true

// <, <=, >, >=
a < 3  // true
a < '3'  // true
a > '3'  // false

 

4. 논리 연산자

논리식을 판단하여 참과 거짓을 반환하는 연산자로, 자바스크립트에서 논리 연산자의 종류는 다음과 같다.

&&(AND), ||(OR), !(NOT)
const a = true, b = true, c = false, d = false

// &&
a && b  // true
a && c  // false
c && d  // false

// ||
a || b  // true
a || c  // true
c || d  // false

// !
!a  // false
!c  // true