문제
str의 첫 글자를 대문자로 바꿔 반환하는 함수, ucFirst(str)를 만들어보세요. 함수 실행 결과는 아래 예시를 충족해야 합니다.
ucFirst("john") == "John";
나의 풀이
function ucFirst(str) {
let result = str[0].toUpperCase();
for (let i = 1; i < str.length; i++) {
result += str[i];
}
return result;
}
alert(ucFirst("john"));
정상적으로 출력된다!
해답
function ucFirst(str) {
if (!str) return str;
return str[0].toUpperCase() + str.slice(1);
}
alert( ucFirst("john") ); // John
- for 반복문으로 결과값을 갱신하는 것이 아니라, '대문자 + 나머지값' (
str[0].toUpperCase() + str.slice(1)
)으로 아예 새로운 값을 만들어 코드가 짧고 효율적이다 - 값을 입력하지 않았을 시, undefined -> toUpperCase 메소드 지원 X -> 에러 발생
그러므로 조건문으로 str 값의 유무를 검사하고 실행한다.
참고
https://ko.javascript.info/string
문자열
ko.javascript.info
'Programming > Client' 카테고리의 다른 글
[Javascript] 문자열 줄이기 함수 (0) | 2022.03.16 |
---|---|
[Javascript] 특정 문자 걸러내는 함수 만들기 (0) | 2022.03.16 |
[Javascript] 유효한 숫자를 입력할 때까지 반복하는 함수 (0) | 2022.03.15 |
[Javascript] 메서드 호출 체이닝 구조 만들기 (0) | 2022.03.08 |
[Javascript] 거듭제곱 함수 구현 (0) | 2022.03.02 |