배경
- 이전 프로젝트에서는 ESLint를 통해 '==='를 개발 표준으로 설정
- 현재 프로젝트에서는 ESLint 설정 X
- ASIS : cd == "12345" (많이 사용하고 있던 조건)
- 변경전 TOBE : cd === "12345" (조건 분기 X)
- 변경후 TOBE : cd === 12345 (조건 정상 분기)
- '==' 과 '==='의 차이점을 자세히 알아보자!
'==' '===' 차이점!
비교 연산자 | 정의 | 비교 기준 |
---|
== | 느슨한 동일 비교 | only 값 |
=== | 엄격한 동일 비교 | 자료형 && 값 |
비교 샘플
1. 숫자
123 == '123'
123 === '123'
0 == NaN
0 === NaN
NaN == NaN
NaN === NaN
2. undefined
undefined == 0
undefined == null
undefined === null
3. boolean
true == 1
true === 1
4. array (object)
const arr1 = ['2', '9'];
const arr2 = ['2', '9'];
const arr3 = arr1
arr1 == arr2
arr1 == arr3
arr1 === arr2
arr1 === arr3
권장사항
- '==='
1. 자료형 변환 X
2. 가독성 굿! => 소스만 보고도 변수의 자료형을 정확하게 인지할 수 있음
참고