IT/JavaScript

8. 자바스크립트(JavaScript) 연산자(1)

뀨뿌뀨뿌 2021. 10. 23. 12:33

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, 두 숫자로만 이루어진 이진법을 의미
- 컴퓨터에서 정보는 이진 형태로 저장, 바이너리는 이진 파일을 읨
   - 이진 파일은 텍스트 형태가 아닌 이진 형태로 인코딩 된 파일
   - 바이너리는 프로그램 배포에서 소스코드가 아닌 실행 파일을 나타냄