인프런 커뮤니티 질문&답변
toString()대신 toHexString() 을 사용한 이유가 궁금합니다~!!
해결된 질문
작성
·
2.9K
0
안녕하세요 강의 잘보고 있습니다!
강의를 보다가 궁금한점이 생겨서요!
toString()대신 toHexString() 을 사용한 이유가 궁금합니다~!!
답변 1
7
안녕하세요, 김동욱님!
toHexString()의 정의는 아래와 같습니다.
toHexString()
Return the ObjectID id as a 24byte hex string representation.
해석해보면 ObjectID 형태의 id를 24바이트의 hex 문자열로 바꾸어 리턴해주는 함수입니다.
사실, 코드를 뜯어보면 toString()은 toHexString()을 리턴합니다.
위의 사진을 보면, toString이 toHexString을 반환하는 것을 보여줍니다.
즉, toString이 toHexString의 상위 함수로 볼 수 있을 것 같습니다. (toString은 toHexString을 래핑합니다.)
결국 현재 프로젝트 코드에서 toHexString 부분을 toString으로 바꾸어서 실행해도 오류는 발생하지 않습니다.
제 생각에는, MongoDB에서 제공하고 있는 예제 코드에서도 toHexString으로 사용하고 있고, toString에 포함되어서 더 좁은 의미의 함수이기 때문에 예외발생률이 적어서 사용되는 것이 아닐까 싶습니다.
다른 의견이 있다면, 댓글 남겨주세요.
도움이 되었으면 좋겠습니다 :)





