티스토리 뷰
https://www.notion.so/simsimjae/5-b43ad177194c43ea9cdc2d31fcdbad0b
=== : 엄격한 동등 비교
== : 느슨한 동등 비교
==는 비교 대상 두개가 타입이 다르면 강제로 형 변환 한다음에 비교한다
===는 타입이 다르면 바로 false를 리턴한다.
false == 0 0 == "" false == ""
위 3가지 경우 모두 true이다.
자바스크립트에서는 "", 0, null, undefined, NaN는 falsy값이라고 한다. 즉 값이 false로 취급된다는것이다.
null == null // true undefined == undefined // true null == undefined // true
위 3가지 경우 모두 true가 나온다.
- null과 undefined 모두 falsy값이기 때문이다.
- 위 케이스 3가지는 실제 개발할때도 주의를 해야 할 것같다. 자주 마주칠수 있는 상황인것같다.
NaN은 어떤 값과도 동일하지 않다. ==나 ===로 비교하면 무조건 false가 나온다
요약
자바스크립트는 유연한 언어이기 때문에==와같은 느슨한 동등 비교를 할때 자동으로 타입을 맞춰준다.
하지만, 이것은 실제 개발할때 진정으로 두 피연산자를 비교한다고 볼 수 없다. 강제형변환이 일어나지 않는 ===를 사용하는것이 항상 더 좋다고 한다.
항상 ==대신 ===를 사용하는 습관을 들이자.
'Javascript' 카테고리의 다른 글
#7 문장 vs 표현식 - 유튜브 expression vs statement번역 (1) | 2019.07.29 |
---|---|
#6 함수와 블록스코프 (1) | 2019.07.29 |
#4 암묵적 타입 변환 (0) | 2019.07.29 |
#3 값 vs 참조 (1) | 2019.07.29 |
#2 자바스크립트의 원시타입 (0) | 2019.07.29 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- atomic design
- Action
- return type
- rendering scope
- typescript
- react hooks
- webpack
- javascript
- promise
- Babel
- await
- es6
- storybook
- server side rendering
- state
- computed
- Polyfill
- reactdom
- useRef
- mobx
- reflow
- props
- react
- design system
- type alias
- hydrate
- async
- useEffect
- reducer
- Next.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함