js coercion

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

참고

Author

chinsung

Posted on

2021-07-19

Updated on

2023-02-01

Licensed under

댓글