[javascript] 문자열을 파스칼 케이스로 변환하기

파스칼 케이스(Pascal Case)는 각 단어의 첫 글자를 대문자로 표기하고, 단어들을 연결하여 만든 변수나 함수의 명명 규칙입니다. 이번에는 JavaScript를 사용하여 주어진 문자열을 파스칼 케이스로 변환하는 방법에 대해 알아보겠습니다.

1. replace() 함수와 정규식을 사용한 방법

function toPascalCase(str) {
  return str.replace(/[-_](\w)/g, function(match, word) {
    return word.toUpperCase();
  }).replace(/^\w/, function(word) {
    return word.toUpperCase();
  });
}

console.log(toPascalCase('hello-world')); // 출력: HelloWorld
console.log(toPascalCase('my_name_is_john')); // 출력: MyNameIsJohn
console.log(toPascalCase('this_is_a_test')); // 출력: ThisIsATest

위의 예시 코드는 replace() 함수와 정규식을 사용하여 주어진 문자열을 파스칼 케이스로 변환합니다. 정규식 /[-_](\w)/g는 하이픈(-)이나 언더스코어(_) 뒤에 위치한 첫 글자를 선택합니다. replace() 함수의 콜백 함수에서 해당 문자를 대문자로 변경하여 반환합니다.

문자열의 시작 부분도 첫 글자를 대문자로 변환해야 하므로, replace(/^\w/, ...)를 사용하여 문자열의 첫 글자를 선택하여 대문자로 변경합니다.

2. split() 함수와 map() 함수를 사용한 방법

function toPascalCase(str) {
  return str.split(/[-_ ]+/)
             .map(function(word) {
               return word.charAt(0).toUpperCase() + word.slice(1);
             })
             .join('');
}

console.log(toPascalCase('hello-world')); // 출력: HelloWorld
console.log(toPascalCase('my_name_is_john')); // 출력: MyNameIsJohn
console.log(toPascalCase('this is a test')); // 출력: ThisIsATest

위의 예시 코드는 split() 함수와 map() 함수를 사용하여 주어진 문자열을 파스칼 케이스로 변환합니다. split(/[-_ ]+/)는 하이픈(-), 언더스코어(_), 또는 공백( )으로 문자열을 분할합니다. map() 함수를 사용하여 각 단어의 첫 글자를 대문자로 변환하고 나머지 문자열은 그대로 유지합니다. 마지막으로 join('')을 사용하여 모든 단어를 연결합니다.

이제 주어진 문자열을 파스칼 케이스로 변환하는 두 가지 방법을 알아보았습니다. 필요한 상황에 맞게 적절한 방법을 선택하여 사용하시기 바랍니다.