JavaScript에서 많이 사용하는 연산자인 등호(=), 등호를 두개(==) 쓰는것과 세개(===) 쓰는것의의 차이점을 알고계신가요?
1. 등호 두개를 사용하는 동등비교연산자
등호를 두개 사용하는 동등연산자는 느슨한 동등비교로 강제 형변환을 수행하기 때문에 자료형이 달라도 값이 같으면 True를 반환합니다. 아주 간단한 예시를 들어보면 숫자와 문자비교가 있겠네요
두개의 값은 같지만 자료형이 Number , String 으로 서로 다릅니다. 하지만 강제 형변환을 통해 공통타입으로 만들기 때문에 True값이 반환됩니다.
2. 등호 세개를 사용하는 동등비교 연산자
등호를 세개(===) 사용하는 경우는 어떻게될까요 대충 예상이 가시죠?
등호가 세개인 경우 '자료형'이 같은지도 추가로 검사하기때문에 False가 반환되게 됩니다.
3. Falsy
보통 코드를 작성할 때 T/F 판별을 0과 1로 많이들 사용하시는데 false도 어떤 동등비교 연산자를 사용하는지에 따라 결과값이 달라지게 됩니다.
이렇게 되는 이유는 자바스크립트가 강제로 0이라는 값을 false로 변환시키기 때문인데요, 위 예시들과 마찬가지로 느슨한 동등비교의 경우 자료형이 달라도 값이 같은 공통타입이기 때문에 true를 반환하게됩니다.
자바스크립트에서는 다음의 값들은 falsy 값으로 통용됩니다.
- false
- 0
- ""
- null
- undefined
- NaN
'개인공부 기록 > JavaScript' 카테고리의 다른 글
[JavaScript] 클로저(Closuer) (2) - 캡슐화, 은닉화 (0) | 2022.08.20 |
---|---|
[JavaScript] 클로저(Closuer) (0) | 2022.08.17 |
[JavaScript] 스코프 체인(Scope Chain), 렉시컬환경 (0) | 2022.08.13 |
비동기처리(async/await) (0) | 2022.08.07 |
[JavaScript] CSV파일 추가하여 출력하기 (0) | 2022.07.31 |