2023년 2월 5일 작성
알고리즘 문제를 풀다가 내가 parseInt()에 대해 제대로 파악하지 못하고 사용했단 걸 알았다! 깨달음을 얻게 해준 문제는 이진수 더하기이다.
처음에는 특정 진수끼리 더하게 해주는 매서드가 있는 줄 몰라서 10 + 11 을 하면 21이고, 2를 10으로 바꿔서 101 로 나타나게 해줘야 하나? 하면서 고민을 했다. 그러다가 매서드를 검색하고서 '아니 parseInt()에게 이런 기능이 있단 말야?' 하고 깜짝 놀랐다.
나에게 parseInt()는 가끔 숫자를 입력했는데도 불구하고 그것이 숫자가 아니라고 하는 혹시 모를 오류를 방지하기 위한 수단이었다. 그래서 매개변수를 하나만 받는 줄 알았는데 알고 보니 선택적으로 다른 매개변수를 받을 수 있었다!
parseInt(string, radix)
parseInt()는 숫자형태 또는 문자형태의 숫자를 받아 정수로 반환해준다.
그리고 두 번째 매개변수에 입력된 진수로 표현된 첫 번째 값을 10진수로 바꿔준다. 다시 말해 2진법으로 표현된 101을 10진수인 5로 변환해준다. 그럼 반대로 10진수로 표현된 값을 2진수로 표현하고 싶다면? 그땐 toString()을 사용하면 된다.
toString()
toString()도 선택적으로 매개변수를 받는다. 기수의 값은 2~36까지라고 한다. 매개변수로 바꾸고 싶은 진수를 입력하면 알아서 10진수 5 -> 2진수 101로 바꿔준다.
매서드의 몰랐던 기능에 대해 알게 되면서 매서드를 사용할 때 항상 MDN 같은 문서로 매서드의 기능과 매개변수를 꼼꼼하게 읽어야겠다고 다짐했다! 여태까지 parseInt()의 기능을 절반정도만 활용하고 있었다니.. 깊이 있는 이해를 하기 위해 다시 또 공부해야겠당!!
'> 개발 > Javascript' 카테고리의 다른 글
[Javascript] 실행 컨텍스트 (0) | 2023.03.15 |
---|---|
[Javascript] 변수의 스코프, 호이스팅, TDZ (0) | 2023.03.14 |
[모던 Deep Dive] 브라우저의 렌더링 과정 (0) | 2023.03.08 |
[Javascript] find()와 reduce() (0) | 2023.03.05 |
[Javascript] console.log() 활용 팁 (0) | 2023.02.24 |
댓글