연산자

황희윤·2021년 10월 20일
0

산술 연산자

  • 피연산자(operand)를 대상으로 수학적 계산 수행
  • 산술 연산이 불가능할 경우 NaN을 반환

이항 산술 연산자

  • 피연산자 두 개로 계산
  • ex) + , - , X , /

단항 산술 연산자

  • 피연산자 한 개로 계산
  • ex) ++, --, x++, ++x
  • x++ : 선할당 후증가
  • ++x : 선증가 후할당
  • a = 3, b = 3이라고 하면
    • b = a++; -> a = 4, b = 3
    • b = ++a; -> a = 4, b = 4

💡 피연산자 중 하나 이상이 문자열인 경우, 값은 문자열로 바뀐다.

  • '1' + 2 = '3'
  • 1 + true = 2
  • 1 + false = 1
  • 1 + null = 0
  • 1 + undefined = NaN
  • undefined는 숫자로 변환되지 않는다.

비교 연산자

  • 피연산자를 비교한 다음, 결과를 boolean 값으로 반환

  • == : 값이 같다.

  • === : 값과 데이터 타입이 같다.

  • '0' == 0 (True)

  • 0 == '' (True)

  • '0' == '' (False)

  • false == 'false' (False)

  • false == '0' (True)

  • false == null (False)

  • false == undefined (False)

  • NaN === NaN (False)

  • NaN을 비교할 때는 isNaN을 사용

삼항조건연산자

  • 조건식 ? 조건식이 true일 때 return 할 값 : 조건식이 false일 때 return 할 값
var result = score >= 60 ? 'pass' : 'fali'
  • score가 60점 이상이면 result는 pass, 이하면 result는 fail

  • var result = x/2 ? '홀수' : '짝수'

  • 2/2 = 0이고, 0은 false로 암묵적 타입 변환된다.

논리연산자

  • ||, &&, !
  • !0 => True
  • !'Hello' => False

typeof 연산자

  • 피연산자의 데이터 타입을 string, number, boolean, undefined, Object, Symbol, function 총 7가지 문자열로 나타낸다.
  • null은 없다
  • typeof 연산자로 null을 연산하면, null이 아닌 object를 반환한다.
  • 이것은 자바스크립트의 버그로 기존 코드에 영향을 줄 수 있어서 일부로 수정하지 않고 있다.
  • typeof NaN => number
  • typeof 선언하지 않은 불분명한 식별자 => undefined

출처 : 모던 자바스크립트 Deep Dive

profile
HeeYun's programming study

0개의 댓글