22.10.15 카카오톡 송수신 장애로 인해 티스토리로 접근이 불가하여 노션에 백업해놓았던 TIL
자바만 사용해 본 나에게 매우 낯설게 다가왔던 triple equal 연산자 (===). single equal(=) 과 double equal(==) 만 사용해 봤기 때문에 (===) 이 연산자는 살짝 장난감 같이 느껴진다.
일단 두 연산자의 차이점은 ‘==’ 은 숫자와 숫자 리터럴을 비교했을 때 (예를 들어 1 == ‘1’) ‘==’ 은 그걸 true 라고 판단하지만, ‘===’ 은 값뿐만 아니라 타입 일치까지 확인하기 때문에 false 라고 판단한다.
- ‘==’ → 두 피연산자의 ‘값’이 다른지 비교 (동등 여부)
- ‘===’ → 두 피연산자가 ‘identical’ 한지 비교 (동일 여부)
자바스크립트는 엄격한 비교와 유형 비교를 모두 지원하므로, 어떤 연산자가 어떤 비교조건에 사용되는 지가 중요하다.
// false
1 === '1'
//true
1 === 1
//true
1 == '1'
//true
1 == 1
//false (값이 다르지 않으므로 두 값이 같다고 판단)
2 != '2'
//true (두 피연산자의 유형이 다르기 때문에 다르다고 판단)
2 !== '2'
결론은 두 변수를 비교하거나 할 때 동일성을 판단하고 싶으면 ‘===’ 연산자를 사용해야 한다. 당연한 거지만 triple equal 에서 not 을 비교할 때도 ‘!==’ 이렇게 쓰는데, 이것도 사실 장난감 같이 생겨서 잘 적응이 안된다. 이번주 안에 적응해 보는 것으로~ㅋㅋㅋㅋ반가워 자스야 잘 지내보자!!!
'TIL' 카테고리의 다른 글
레벨 테스트 작업 로그 #1 - E2E Test 작성하기 (22.11.28 TIL) (0) | 2022.11.28 |
---|---|
건강 관리도 프로 답게 (22.10.15 TIL) (1) | 2022.11.28 |
인수 테스트 작성하기 (22.11.27 TIL) (0) | 2022.11.27 |
SQL - JOIN (22.11.26 TIL) (1) | 2022.11.26 |
Spring Boot - @Embeddable, @Embedded, @AttributeOverride, @AttributeOverrides (22.11.25 TIL) (0) | 2022.11.25 |
댓글