프로그래밍 언어/HTML,CSS,JS

JavaScript에서 문자열의 첫 글자를 대문자로 만드는 방법

Rateye 2021. 12. 4. 12:42
728x90
반응형
질문 : JavaScript에서 문자열의 첫 글자를 대문자로 만들려면 어떻게합니까?

문자열의 첫 글자를 대문자로 만들고 다른 글자의 대소 문자를 변경하지 않으려면 어떻게합니까?

예를 들면 :

  • "this is a test""This is a test"
  • "the Eiffel Tower""The Eiffel Tower"
  • "/index.html" "/index.html"
답변

기본 솔루션은 다음과 같습니다.

function capitalizeFirstLetter(string) {
  return string.charAt(0).toUpperCase() + string.slice(1);
}

console.log(capitalizeFirstLetter('foo')); // Foo

일부 다른 답변은 String.prototype (이 답변도 사용됨)을 수정하지만 유지 관리 가능성으로 인해 지금 이에 대해 조언합니다 (함수가 prototype 에 추가되는 위치를 찾기가 어렵고 다른 코드가 동일한 것을 사용하면 충돌을 일으킬 수 있습니다 이름 / 브라우저는 나중에 동일한 이름의 기본 함수를 추가합니다.)

... 그리고 국제화를 고려할 때이 질문에 훨씬 더 많은 것이 있습니다. 이 놀라운 대답 (아래에 묻혀 있음)이 보여줍니다.

코드 단위 대신 유니 코드 코드 포인트로 작업하려는 경우 (예 : 기본 다국어 플레인 외부의 유니 코드 문자 처리) String#[@iterator] 가 코드 포인트와 함께 작동 toLocaleUpperCase 를 사용하여 로케일에 맞는 대문자 사용 :

const capitalizeFirstLetter = ([ first, ...rest ], locale = navigator.language) =>
  first.toLocaleUpperCase(locale) + rest.join('')

console.log(
  capitalizeFirstLetter('foo'), // Foo
  capitalizeFirstLetter("𐐶𐐲𐑌𐐼𐐲𐑉"), // "𐐎𐐲𐑌𐐼𐐲𐑉" (correct!)
  capitalizeFirstLetter("italya", 'tr') // İtalya" (correct in Turkish Latin!)
)

더 많은 국제화 옵션은 아래의 원래 답변을 참조하십시오 .

출처 : https://stackoverflow.com/questions/1026069/how-do-i-make-the-first-letter-of-a-string-uppercase-in-javascript
728x90
반응형