본문 바로가기
javascript/기초

localeCompare

by yongfront 2024. 4. 3.
반응형
SMALL

localeCompare 메소드는 문자열이 다른 문자열 앞에, 뒤에, 아니면 같은 위치에 오는지를 숫자로 반환하는 String 객체의 메소드입니다. 이 메소드는 대소문자 구분, 악센트, 기타 문자열 비교에서 로케일(언어 및 지역 설정)을 고려한 정렬 순서를 제공합니다.

기본적으로 **localeCompare**는 호출하는 문자열이 비교 대상 문자열보다

  • 알파벳상 뒤에 오면 양의 정수,
  • 앞에 오면 음의 정수,
  • 같은 경우에는 0을 반환합니다.

이 메소드는 비교할 때 로케일의 정렬 규칙을 사용하여, 다양한 언어와 스크립트에서 문자열을 올바르게 정렬할 수 있도록 돕습니다.

사용법

const returnValue = string1.localeCompare(string2);

  • **string1**은 기준 문자열입니다.
  • **string2**는 비교 대상 문자열입니다.
  • 반환값은 **string1**이 **string2**보다 알파벳 순으로 앞에 있으면 음의 정수, 같으면 0, 뒤에 있으면 양의 정수입니다.

예제

const a = 'réservé'; // with accents, lowercase
const b = 'RESERVE'; // no accents, uppercase

console.log(a.localeCompare(b));
console.log(a.localeCompare(b, 'en', { sensitivity: 'base' }));

첫 번째 localeCompare 호출에서는 대소문자와 악센트를 모두 고려하여 결과를 반환합니다. 두 번째 호출에서는 sensitivity 옵션을 **'base'**로 설정해 대소문자와 악센트를 무시하고 비교합니다.

비교 옵션

localeCompare는 선택적인 locales options 인수를 받을 수 있어, 비교 방식을 상세히 제어할 수 있습니다. 예를 들어, 대소문자 구분(sensitivity), 비교할 로케일(locales), 숫자 비교(numeric) 등을 설정할 수 있습니다.

console.log('ä'.localeCompare('z', 'de')); // a German-specific comparison

이 메소드는 다국어를 지원하는 웹사이트나 애플리케이션에서 문자열을 정렬하거나 비교할 때 매우 유용합니다.

728x90
반응형
LIST

'javascript > 기초' 카테고리의 다른 글

startsWith()  (0) 2024.04.10
for ...in  (0) 2024.04.10
includes()  (0) 2024.04.10
for...of  (1) 2024.04.10
배열에서 배열 빼기  (0) 2024.04.10