숫자인 num에 split()을 이어 붙였을 때 TypeError가 발생하였다.
알고리즘 풀 때 꽤 자주 등장한 에러였다. 원인을 모른채 계속 삽질만 했지만 또 다시 마주하게된 에러였다. 다음번에 다시 동일한 에러를 만나게되면 바로 대처할 수 있도록 이번에 이 에러의 원인을 찾아보았다.
function solution(num, k) {
var answer = 0;
let array = num.split('');
console.log(array);
return answer;
}
function solution(num, k) {
var answer = 0;
let toString = num.toString();
let array = toString.split('');
console.log(array);
return answer;
}
split()
메서드는 애초에 string 타입이 아닌 값에 대해 메서드를 호출할 때 에러가 발생한다.
오류를 해결하려면,
1) split()
을 사용하기 전에 toString()
을 사용하여 num
에 있는 값을 string 타입으로 형변환 하거나
2) string 타입에 대해서만 split()
메서드를 호출해야 한다.
split()
메서드는 string 타입에서만 메서드 호출이 가능하다.
string 타입이 아닐 경우, toString()
메서드를 사용하여 값을 string 타입으로 변환하기