동등비교 연산자

김그묠·2022년 6월 13일
0

JavaScript

목록 보기
15/16
post-thumbnail

가급적 일치비교 연산자를 사용하려 노력하지만 가끔은 적당한 동등비교를 사용해 무지성으로 문제를 해결하려 할 때가 있었다. 특히 코테볼 때.

동등비교란?

  • 비교 연산자로 '=='를 사용
  • 암묵적 타입 변환을 통해 좌우 피연산자의 타입을 일치시켜 비교함
  • Boolean type으로 반환

이번에 모던 자바스크립트 Deep Dive를 읽으며 예제에 의문이 들기 시작했다.

//결과를 예측하기 어려운 동등비교
'0' == '' //false
0 == '' //true
0 == '0' //true
false == 'false' //false
false =='0' //true
false == null // false
false == undefined // false

이렇게 많은 예제를 보니 대관절 기준이 무엇일까 고민에 빠졌다.
그러다 동기와 함께 고민 끝에 결론을 내려 보았다.

  1. 비교하는 두 피연산자의 자료형이 동일시에 암묵적으로 타입 변환을 시키지 않고 값을 비교한다.
  2. 자료형이 다를 경우 항상 Number로 변환하여 비교한다.
  3. null은 undefined와 비교시만 number로 변환하고 그 외 자료형과 비교시 무조건 false 반환

보다 자세한 글 => https://velog.io/@liketiger/JS%EA%B0%80-%EB%84%88%EB%AC%B4%ED%95%B4

profile
개발일지

1개의 댓글

comment-user-thumbnail
2022년 8월 29일

다다 안뇽

답글 달기

관련 채용 정보