문자를 숫자로 변환하는 메서드 두 가지가 있다.
Number("500");
parselnt("500");
두 개의 메서드는 어떠한 차이가 있는지,
또한, 어떤 경우에 활용을 하면 좋을지에 대해 알아보도록 하며,
먼저 이 둘의 공통점부터 소개하겠다.
let word = "2021"
Number(word); // 2021 숫자 형태로 출력
let word = "2020"
parseInt(word); // 2020 숫자 형태로 출력
이렇게만 보면 이 둘은 쌍둥이처럼 똑같아 보일수 있다.
그럼 지금부터 차이점에 대해 소개해보겠다.
let word = "2021년도"
Number(word); // NaN 출력
let word = "2021년도"
parseInt(word); // 2021 숫자 형태로 출력
Number()의 경우 NaN을 출력하지만,
parseInt()의 경우 숫자만 출력을 하는 것을 보아서는 문자와 합친 경우 유용하게 쓰인다.
let word = "지금은2021년도"
Number(word); // NaN 출력
parseInt(word);
let word = "지금은2021년도"
parseInt(word); // NaN 출력
Number()과 parseInt() 공통적으로 NaN을 출력하여,
전과 달리 parseInt()는 문자열에서 숫자 형식이 첫 번째자리가 아니면 숫자 변환이 불가능하므로
주의를 할 필요가 있다. (만약 첫번째 자리에 # , @ , ','의 특수문자 경우에도 숫자 변환 불가)
let word = "2021.04.13"
Number(word); // NaN 출력
let word = "2021.04"
Number(word); // 2021.04 숫자 형태로 변환
let word = "2021.04.13"
parseInt(word); // 2021 숫자 형태로 변환
let word = "2021.04"
Number(word); // 2021 숫자 형태로 변환
Number()의 경우 소수점이 포함한 문자를 숫자로 포함되나, 2021.04.13 같은 형태는
고유의 숫자가 아니므로 변환을 하지 못한다.
parseInt()의 경우 소수점 전 숫자까지만 제한을 두며, 숫자로 변환한다.
결국은 Number()와 parseInt()은 엄연히 숫자로 나오는 출력 조건이 다른 형태이므로
상황에 따라 알맞게 잘 활용하기를 바란다.