Programming/Client

[Javascript] 문자열의 첫글자만 대문자로 변경 후, 출력

Jiwoo 2022. 3. 16. 15:10

문제

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