toUpperCase
와 toLocaleUpperCase
는 JS에서 문자열을 대문자로 변환하는 메소드이다.
toUpperCase
메소드는 표준화된 방법으로 문자열 내의 모든 알파벳 문자를 대문자로 변환한다. 이 메소드는 알파벳 문자에만 작용하며, 모든 문자를 대문자로 표시한다.
let text = "Hello World!";
console.log(text.toUpperCase());
// Outputs: "HELLO WORLD!"
반면에, toLocaleUpperCase
메소드는 현재 로케일(즉, 사용자의 언어 설정과 관련된 환경)에 따라 대문자 변환을 수행한다. 일부 언어는 특정 문자나 문자 조합의 대문자 형태가 표준적인 대문자 변환과 다르기 때문에, 이 메소드는 이러한 문화권 특성을 고려하여 대문자 변환을 수행한다.
터키어는 대문자 'I'와 소문자 'i' 사이에 점이 없는 추가적인 문자를 가지고 있다. 따라서 'i'를 대문자로 변환할 때 'I'가 아니라 'İ'로 변환되어야 한다. toLocaleUpperCase
는 이러한 차이점을 고려한다.
let text = "i";
console.log(text.toLocaleUpperCase('tr-TR')); // Turkish locale
// Outputs: "İ"
toUpperCase
와 toLocaleUpperCase
주요 차이점은 toLocaleUpperCase
는 특정 로케일에 따라 문자를 대문자로 변환하는 반면, toLocaleUpperCase
는 표준화된 방법으로 모든 알파벳 문자를 대문자로 변환한다는 점이다. 사용자의 언어 설정이 영향을 미치지 않는 경우에는 두 메소드는 동일한 결과를 반환한다.