프로그래머스 Lv2 JadenCase 문자열 만들기 문제를 풀다가 새로 알게 된 것
처음 풀이
function solution(s) {
let answer = s.split(' ').map((el)=>el[0].toUpperCase() + el.slice(1).toLowerCase()).join(' ');
return answer;
}
테스트 케이스를 고려하지 않고 풀었더니 런타임 에러가 났다. 어디서 에러가 나는지 감을 못 잡았었다.
charAt으로 변경한 풀이
function solution(s) {
let answer = s.split(' ').map((el)=>el.charAt(0).toUpperCase() + el.slice(1).toLowerCase()).join(' ');
return answer;
}
el[0]은 빈 문자열일 때 undefined를 반환하고 charAt은 빈 문자열을 반환한다.
undefined에 toUpperCase()로 접근해서 런타임 에러가 났던 것