1. 산술 연산자
- 표준 산술 연산자(덧셈, 뺄셈, 곱셈, 나눗셈)가 있습니다.
- 산술 연산자를 통해 숫자형 값을 계산할 수 있습니다.
10 + 5 // 15
10 - 5 // 5
10 * 5 // 50
10 / 5 // 2
- 자바스크립트의 산술 연산자는 숫자형 값 연산 외에 다른 연산도 가능합니다.
- 덧셈 연산자인 경우 문자형에 사용 가능하며 이때 두 개 이상의 문자열을 이어 붙일 수 있지만, 나눗셈, 곱셈, 뺄셈에서는 문자열을 사용할 수 없습니다.
- 산술 연산자에 = 연산자를 함께 사용하는 산술 등호 연산도 가능합니다.
let x = 10
x += 5
x *= 2
console.log(x) // 30
const y = 10
y -= 5
y /= 5
console.log(y) // 1
- 나머지 연산자(%), 거듭제곱 연산자(**), 단항 음수/양수(+ / -), 증감 연산자(++ / --)도 있습니다.
- 나머지 연산자는 a % b, 거듭제곱 연산자는 a ** b, 숫자 앞에 + 붙이면 양수, - 붙이면 음수, ++연산자는 ++value, --연산자는 --value로 작성합니다.
console.log(15 % 4) // 3 숫자 15에서 4로 나눈 남은 값
console.log(3 ** 3) // 27 3의 3 거듭제곱의 결과 값
console.log(+10) // 10 숫자 앞에 + 붙이면 양수
console.log(-10) // -10 숫자 앞에 - 부호를 붙이면 음수
let value = 10
++value
console.log(value) // 11 value = value + 1로 연산됨
--value
console.log(value) // 10 value = value - 1로 연산됨
2. 비교 연산자
- 두 개의 값을 비교하여 true 와 false 결과값을 반환합니다.
- 값이 동등한지 비교하는 일치 연산자와 값의 관계를 비교하는 관계 연산자가 있습니다.
- 일치 연산자
- 값의 일치 여부를 확인합니다.
- 종류
- 동등 연산자
- 동등 연산자 == 는 비교 대상 값의 자료형이 서로 다르면 강제로 형을 바꾼 뒤에 비교합니다.
- 값의 자료형과 상관없이, 내용이 같은 경우 true 를 반환합니다.
- 만약 두 값이 객체형이라면 같은 메모리 주소를 바라보는지 확인합니다.
- 부등 연산자
- 부등 연산자 != 는 값이 다른 경우 true 를 반환합니다.
- 자료형이 다른 경우 동등 연산자와 동일하게 형을 변환하고 비교합니다.
- 일치 연산자
- 일치 연산자 === 는 동등 연산자나 부등 연산자보다 엄격한 기준을 가지고 있습니다.
- 값의 내용을 비교하는 것뿐만 아니라, 자료형까지 일치하는지 비교합니다.
=> 자료형을 임의로 변환하지 않습니다.
- 불일치 연산자
- 불일치 연산자 !== 는 엄격한 기준으로 값의 불일치 여부를 확인하는 연산자 입니다.
- 같은 자료형에서 값의 내용이 다르거나 다른 자료형인 경우 true를 반환합니다.
console.log(5 == 5) // true
console.log("5" == 5) // true
console.log(5 == '5') // true
console.log(5 != 1) // true
console.log(5 != "1") // true
console.log(5 != "5") // false
console.log(5 === 5) // true
console.log(5 === "5") // false
console.log(5 !== 10) // true
console.log(5 !== "5") // true
- 관계 연산자
- 두 개의 값 간의 크기 비교를 통해 관계를 확인하는 연산자입니다.
- 산술식에서 사용되는 비교 연산자와 동일한 의미로 이해하면 쉽게 접근이 가능합니다.
- 종류
- > 와 <
- 한쪽 값이 큰 경우 참(true)을 반환합니다.
- >= 와 <=
- 한쪽 값이 크거나 동일한 경우 참을 반환합니다.
console.log(5 > 3) // true
console.log(5 < 3) // false
console.log(5 <= 6) // true
console.log(5 >= 5) // true
- 자바스크립트는 숫자형 비교 외 문자형에서도 비교 연산이 가능합니다.
- 알파벳으로 문자형을 나열하게 되면 대문자가 소문자보다 앞선 순서로 정렬되는 것을 볼 수 있는데 "Z"보다 "a"가 큰 값입니다.
=> 컴퓨터 구조로 풀이하여 내부 구조를 확인하면 유니코드(Unicode) 기준에 따라 Binary를 통한 연산으로 처리됩니다.
console.log("Italy" > "America") // true
console.log("Korea" < "korea") // true
* 바이너리(Binary)
- 0과 1, 두 숫자로만 이루어진 이진법을 의미
- 컴퓨터에서 정보는 이진 형태로 저장, 바이너리는 이진 파일을 읨
- 이진 파일은 텍스트 형태가 아닌 이진 형태로 인코딩 된 파일
- 바이너리는 프로그램 배포에서 소스코드가 아닌 실행 파일을 나타냄