최근 코딩테스트 스터디를 멋사 사람들과 시작했습니다.
많은 메서드들을 접하고 사용하다 보니 Number와 parseInt의 차이점을 알게 되어 이렇게 글을 남깁니다.
let str = "123str"
console.log(str)
// 123str 출력
console.log(Number(str))
// NaN 출력
console.log(parseInt(str))
// 123 출력
차이가 보이시나요?
여기서 Number라는 메서드는 변수 속에 숫자가 아닌 문자열이 들어 있을 경우 NaN 즉 Not a Number이라는 출력 구문을 출력합니다.
하지만 parseInt 메서드는 변수 속에 문자열을 제외하고 숫자만 뽑아 숫자로 만들어서 출력합니다.
여기서 궁금증이 생깁니다. 만약 변수 속에 "12str34" 이런식으로 들어 있다면 parseInt는 어떻게 출력할까요?
let str2 = "12str34"
console.log(parseInt(str2))
// 출력 값은 12
위 예제 코드에서 보다시피 parseInt의 메서드는 문자를 발견하기 전까지의 숫자를 return 하여 12가 출력합니다.