js coercion
- 서로 다른 타입끼리 연산을 할 때, 타입 캐스팅이 일어난다
- js에서는 이를
coercion
이라고 부르는 것 같다 - 조금 더 정확히는, 타입 캐스팅을 암시적으로(implicitly) 해주는 것
- js에서 서로 다른 타입 간의 연산을 하더라도 웬만하면 에러가 안 뜬다
- 어느 한쪽을 기준으로 자동 캐스팅되어서 js를 처음 배울 때 너무 편했다
- 이런 강제 형변환이 직관적이라고 생각할 때도 있지만, 가끔 실수할 때가 있다
- 나는 처음 js를 배울 때
var
보다는const
,let
==
보다는===
를 사용하라고 배워서 그냥 그런가 보다 하고 따랐었는데,- 특히 조건문에서 강제 형변환은 예상하지 못한 동작들을 많이 만들어내는 것 같다
===
,!==
를 사용함으로써 강제 형변환 없이 비교해 볼 수 있다