Intl.Locale 对象是 Intl 对象的标准内置属性,用于表示 Unicode 区域标识。

{{InteractiveExample("JavaScript Demo: Intl.Locale")}}

```js interactive-example const korean = new Intl.Locale("ko", { script: "Kore", region: "KR", hourCycle: "h23", calendar: "gregory", });

const japanese = new Intl.Locale("ja-Jpan-JP-u-ca-japanese-hc-h12");

console.log(korean.baseName, japanese.baseName); // Expected output: "ko-Kore-KR" "ja-Jpan-JP"

console.log(korean.hourCycle, japanese.hourCycle); // Expected output: "h23" "h12"


## 描述 **`Intl.Locale`** 对象是为了更便捷地处理 Unicode 区域设置。Unicode 使用字符串作为区域识别标识。区域标识符由*语言标识符*和*扩展标记*组成。语言标识符是区域 (locale) 的核心,包含了语言、脚本和地域子标记 (region subtags)。有关区域设置的其他信息体现在可选的扩展标记中。扩展标记保存有关区域设置方面的信息,例如日历类型、时钟类型和编号系统类型。 传统上,Intl 接口像 Unicode 一样使用字符串来表示区域设置,这是一个简单而轻量且效果好的解决方案。但是,添加一个 Locale 类可以更容易地解析和操作语言、脚本、区域以及扩展标记。 ## 构造函数 - {{jsxref("Intl/Locale/Locale", "Intl.Locale()")}} - : 实例化一个 `Locale` 对象。 ## 实例属性 - [`Intl.Locale.prototype.baseName`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/baseName) - : Returns basic, core information about the `Locale` in the form of a substring of the complete data string. - [`Intl.Locale.prototype.calendar`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/calendar) - : Returns the part of the `Locale` that indicates the Locale's calendar era. - [`Intl.Locale.prototype.caseFirst`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/caseFirst) - : Returns whether case is taken into account for the locale's collation rules. - [`Intl.Locale.prototype.collation`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/collation) - : Returns the collation type for the `Locale`, which is used to order strings according to the locale's rules. - [`Intl.Locale.prototype.hourCycle`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle) - : Returns the time keeping format convention used by the locale. - [`Intl.Locale.prototype.language`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/language) - : Returns the language associated with the locale. - [`Intl.Locale.prototype.numberingSystem`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/numberingSystem) - : Returns the numeral system used by the locale. - [`Intl.Locale.prototype.numeric`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/numeric) - : Returns whether the locale has special collation handling for numeric characters. - [`Intl.Locale.prototype.region`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/region) - : Returns the region of the world (usually a country) associated with the locale. - [`Intl.Locale.prototype.script`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/script) - : Returns the script used for writing the particular language used in the locale. ## 实例方法 - [`Intl.Locale.prototype.maximize()`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/maximize) - : Gets the most likely values for the language, script, and region of the locale based on existing values. - [`Intl.Locale.prototype.minimize()`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/minimize) - : Gets the most likely values for the language, script, and region of the locale based on existing values. - [`Intl.Locale.prototype.toString()`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/toString) - : Returns the Locale's full locale identifier string. ## 范例 ### 基本使用 很简单,就是需要给{{jsxref("Intl/Locale/Locale", "Intl.Locale")}} 构造函数传入一个 locale 标识字符串作为参数: ```js let us = new Intl.Locale("zh-Hans-CN");

使用配置实例化

构造函数支持传入 object 作为配置,object 中可包含多个配置属性。例如,设置 hourCycle 属性,用于设置你所需要的小时周期类型:

let zh12hour = new Intl.Locale("zh-Hans-CN", { hourCycle: "h12" });
console.log(zh12hour.hourCycle); // Prints "h12"