[JS] 동등비교와 일치비교

티라노·2023년 9월 21일
0
post-custom-banner

동등 연산자, '=='

'=='은 동등연산자(Equal Operator) 로써, 의미가 비슷하면 true를 출력한다. 여기서 의미가 비슷하다는 것은 '실질적인 값이 같다'는 것이다.
아래의 세 가지 예시를 보자.

  1. let a = 123이고 let b = '123'이라면 a == btrue가 출력된다.
  1. null == undefined을 입력한다면, nullundefined는 모두 '비어있다'는 의미를 가지므로 이것 또한 true가 출력된다.
  1. true == 1을 입력한다면, true가 출력된다. 1은 true, 0은 false로 나타내기 때문에 실질적인 의미가 같다고 보는 것이다.

그렇다면 '==' 대신 '==='을 쓰면 어떻게 될까?


일치 연산자, '==='

'==='은 일치연산자(Strict Equal Operator) 로써, 의미가 정확하게 똑같을 때 true를 출력한다. 여기서 '똑같다'는 것은 '값과 자료형이 모두 일치한다'는 것이다.
위에 두 예시는 모두 실질적 값은 똑같으나 자료형이 다른 경우에 속한다. 따라서 세가지 예시를 '==='으로 바꾼다면 두 경우 모두 false가 출력될 것이다.

  1. let a = 123이고 let b = '123'이라면 두 변수는 다른 자료형을 가지므로 a === bfalse가 출력된다.
  1. null === undefined을 입력한다면, nullundefined는 모두 '비어있다'는 의미를 가지지만, 두 변수는 서로 다른 자료형이므로 false가 출력된다.
  1. true === 1을 입력한다면, false가 출력된다. 1과 true는 서로 다른 자료형을 가지기 때문이다.
profile
어쩌다 프론트 도전기
post-custom-banner

0개의 댓글