JS에서 발견한 흥미로운 점

조 은길·2021년 9월 27일
0

최근 알고리즘 문제를 풀다가 이상한 점을 발견했다.

이렇게 11번 줄이 정상적으로 작동한다는 것이다.

Q1) String화 된 integer 와 integer가 비교가 가능한가??

설마설마 해서 RunJS에 테스트해봤더니, 비교가 된다..... 헐;;;

stackoverflow에서 그 답을 찾을 수 있었다.

간략하게 옮기자면,

<, >, <=, and >= 이 부등식에 한해서는 비교군 중 하나라도 숫자이면, 둘다 숫자로써 비교가 된다는 것이다. ( 넘 신기함!! )

그럼, === 는 정말 비교가 안 되나??

안 된다!ㅋㅋㅋ

Q2) 그럼 String화 된 integer 와 integer를 비교할 때, parseInt()를 안 써도 되는 것인가??

여기에 대해서는 "당신의 의견"에 달렸다고 한다. 그러나, 다른 개발자 역시도 내가 짠 코드를 이해해야 되는 경우가 많기 때문에, 가급적이면, 예의상 parseInt()를 써주는 게 좋다고 한다.

profile
좋은 길로만 가는 "조은길"입니다😁

0개의 댓글