The Intl.Locale.prototype.caseFirst
property is an accessor property that returns whether case is taken into account for the locale's collation rules.
Description
A locale's collation rules are used to determine how strings are ordered in that locale. Certain locales use a character's case (UPPERCASE or lowercase) in the collation process. This additional rule can be expressed in a Locale's
caseFirst
property.
There are 3 values that the caseFirst property can have, outlined in the table below.
caseFirst
values
Value | Description |
---|---|
upper |
Upper case to be sorted before lower case. |
lower |
Lower case to be sorted before upper case. |
false |
No special case ordering. |
Examples
Setting the caseFirst
value via the locale string
In the Unicode locale string spec, the values that caseFirst
represents correspond to the key kf
. kf
is treated as a locale string "extension subtag". These subtags add additional data about the locale, and are added to locale identifiers by using the -u
extension key. Thus, the caseFirst
value can be added to the inital locale identifier string that is passed into the Locale constructor. To add the caseFirst
value, first add the -u
extension key to the string. Next, add the -kf
extension key to indicate that you are adding a value for caseFirst
. Finally, add the caseFirst
value to the string.
let caseFirstStr = new Intl.Locale("fr-Latn-FR-u-kf-upper"); console.log(caseFirstStr.caseFirst); // Prints "upper"
Setting the caseFirst value via the configuration object argument
The Intl.Locale
constructor has an optional configuration object argument, which can be used to pass extension types. Set the caseFirst property of the configuration object to your desired caseFirst
value, and then pass it into the constructor.
let caseFirstObj= new Intl.Locale("en-Latn-US", {caseFirst: "lower"}); console.log(us12hour.caseFirst); // Prints "lower"
Specifications
Specification | Status | Comment |
---|---|---|
Intl.Locale proposal | Stage 3 |
Browser compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
caseFirst |
Chrome Full support 74 | Edge No support No | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android Full support 74 | Chrome Android Full support 74 | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No | nodejs No support No |
Legend
- Full support
- Full support
- No support
- No support