== vs. ===

Dorogono·2022년 4월 26일
0

JS 알아보기

목록 보기
3/19
post-thumbnail

==는 웬만하면 쓰지 말자.

가끔 코딩을 하다가 비교 연산자가 필요할 때면, ==를 사용한다.

3 + '23' = '323' // 숫자에 문자열을 더하면 문자열이 된다.
3 > '4' // false

이렇듯 자바스크립트는 암묵적으로 타입이 자동으로 변환시켜 비교하거나 합쳐준다.

본인은 한 번 더 치기 싫은 것도 있고, 혹시나 type이 달라 비교가 내가 생각한대로 되지 않는 것도 싫기 때문도 있다.

하지만, 요즘엔 프론트엔드에서 TypeScript가 유행하는 데에는 이유가 있다고 생각하기 때문에 염격한 비교 연산자인 ===를 의식적으로 사용하려고 한다.

false == 'false' // false가 나온다.

자동으로 변환시켜 true가 나올 줄 알았지만, boolean 타입은 자동 변환이 되지 않아 false가 나온다.

이것으로 우리는 느슨한 비교 연산자인 ==가 예측하기 어렵다는 걸 알 수 있다.

글이나 말투에서도 어미가 다르면 말 뜻이 달라지듯이 우리 개발자도 세세한 것에도 신경을 많이 쓰면서 코딩을 해야 한다는 걸 느꼈다.

profile
3D를 좋아하는 FE 개발자입니다.

3개의 댓글

comment-user-thumbnail
2022년 4월 26일

저도 이전에는 느슨한 비교 연산자를 사용했었는데 이번에 공부하면서 엄격한 비교 연산자를 사용하려고 하고 있습니다😄 세세한 것 하나하나까지 신경써서 장애 코드를 만들지 않도록 노력하는 것이 중요한 것 같습니다!

답글 달기
comment-user-thumbnail
2022년 4월 26일

예측하기 어려운 코드는 지양하는 것이 좋죠. 코딩하다 비교 연산자를 쓸 때 더 의식해봐야겠네요! 잘 봤습니다~

답글 달기
comment-user-thumbnail
2022년 4월 26일

마지막 문구에 공감하게 되네요. ㅎㅎㅎㅎ
좋은 글 감사합니다.

답글 달기