[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare [Back]  [Original]

String.prototype.localeCompare() - JavaScript | MDN

MDN Web Docs

View in English Always switch to English

String.prototype.localeCompare()

Baseline

20157

localeCompare() String Intl.Collator API Intl.Collator

Intl.Collator compare()

const a = "rserv"; // With accents, lowercase
const b = "RESERVE"; // No accents, uppercase

console.log(a.localeCompare(b));
// : 1
console.log(a.localeCompare(b, "en", { sensitivity: "base" }));
// : 0

js
localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)

locales options

Intl.Collator API Intl.Collator() Intl.Collator

compareString

undefined localeCompare() "undefined"

locales

BCP 47 Intl.Collator() locales

Intl.Collator

options

Intl.Collator() options

Intl.Collator

Intl.Collator() locales options

referenceStr compareString referenceStr compareString 0

Intl.Collator new Intl.Collator(locales, options).compare(referenceStr, compareString)

referenceStr compareString

  • referenceStr compareString
  • referenceStr compareString
  • 0

: -1 1

W3C -2 2

localeCompare()

js
//  "a"  "c" 
"a".localeCompare("c"); // -2  -1 

//  "check"  "against" 
"check".localeCompare("against"); // 2  1 

// "a" "a"  0 
"a".localeCompare("a"); // 0

localeCompare()

js
const items = ["rserv", "Premier", "Clich", "communiqu", "caf", "Adieu"];
items.sort((a, b) => a.localeCompare(b, "fr", { ignorePunctuation: true }));
// ['Adieu', 'caf', 'Clich', 'communiqu', 'Premier', 'rserv']

locales options

"i" RangeError

js
function localeCompareSupportsLocales() {
  try {
    "foo".localeCompare("bar", "i");
  } catch (e) {
    return e.name === "RangeError";
  }
  return false;
}

locales

localeCompare() locales

js
console.log("".localeCompare("z", "de")); // :    a 
console.log("".localeCompare("z", "sv")); // :    z 

options

localeCompare() options :

js
//    base letter  a
console.log("".localeCompare("a", "de", { sensitivity: "base" })); // 0

//    a  base letter 
console.log("".localeCompare("a", "sv", { sensitivity: "base" })); // 

js
//  "2" > "10"
console.log("2".localeCompare("10")); // 1

// options 
console.log("2".localeCompare("10", undefined, { numeric: true })); // -1

// 
console.log("2".localeCompare("10", "en-u-kn-true")); // -1

ECMAScript 2027 LanguageSpecification
# sec-string.prototype.localecompare
ECMAScript 2027 Internationalization API Specification
# sup-String.prototype.localeCompare


Web Proxy Viewer  |  New URL  |  Original Page