Intl.DisplayNames.prototype.of()
基线 广泛可用
此功能已经非常成熟,可以在许多设备和浏览器版本中使用。它自 2021 年 4 月.
反馈报告
试一试
语法
of()
方法是 Intl.DisplayNames
实例的方法,它接收一个代码并返回一个字符串,该字符串基于实例化此 Intl.DisplayNames
对象时提供的语言环境和选项。of(code)
js
参数
-
code
- 要提供的
code
取决于type
- 如果类型为“region”,
code
应该是一个 两位字母 ISO 3166 地区代码 或 三位数字 UN M49 地理区域。它必须遵循unicode_region_subtag
语法。 - 如果类型为“script”,
code
应该是一个 四位字母 ISO 15924 脚本代码。它必须遵循unicode_script_subtag
语法。 - 如果类型为“language”,
code
应该是一个 languageCode ["-" scriptCode] ["-" regionCode ] *("-" variant )unicode_language_id
语法子序列。languageCode 是一个两位字母 ISO 639-1 语言代码或一个三位字母 ISO 639-2 语言代码。 - 如果类型为“currency”,
code
应该是一个 三位字母 ISO 4217 货币代码。它必须正好有三个字母字符。 - 如果类型为“dateTimeField”,
code
应该为以下之一:"era"
、"year"
、"quarter"
、"month"
、"weekOfYear"
、"weekday"
、"day"
、"dayPeriod"
、"hour"
、"minute"
、"second"
、"timeZoneName"
。
- 要提供的
如果类型为“calendar”,code
应该是一个 日历键。它必须遵循 Unicode 语言环境标识符 的 type
语法。
返回值
一个特定于语言的格式化字符串,或者如果输入没有数据并且 fallback
为 "none"
,则返回 undefined
。
注意: fallback
仅在 code
在结构上有效时使用。请参阅 使用回退。
异常
-
RangeError
示例
如果 code
在结构上对给定的 type
无效,则抛出。
of()
方法是 Intl.DisplayNames
实例的方法,它接收一个代码并返回一个字符串,该字符串基于实例化此 Intl.DisplayNames
对象时提供的语言环境和选项。const regionNames = new Intl.DisplayNames("en", { type: "region" });
regionNames.of("419"); // "Latin America"
const languageNames = new Intl.DisplayNames("en", { type: "language" });
languageNames.of("fr"); // "French"
const currencyNames = new Intl.DisplayNames("en", { type: "currency" });
currencyNames.of("EUR"); // "Euro"
使用 of 方法
使用回退
of()
方法是 Intl.DisplayNames
实例的方法,它接收一个代码并返回一个字符串,该字符串基于实例化此 Intl.DisplayNames
对象时提供的语言环境和选项。console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "code" }).of("ZL"),
); // "ZL"
console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "none" }).of("ZL"),
); // undefined
当使用 fallback: "code"
构造 Intl.DisplayNames
时,如果输入在结构上有效但没有数据,则 of()
方法将返回 code
。如果 fallback
为 "none"
,则返回 undefined
。
of()
方法是 Intl.DisplayNames
实例的方法,它接收一个代码并返回一个字符串,该字符串基于实例化此 Intl.DisplayNames
对象时提供的语言环境和选项。console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "code" }).of("ZLC"),
); // throws RangeError: invalid value "ZLC" for option region
规范
但是,这仅适用于 code 在结构上有效的情况。例如,如果 type 为 "region" 但 code 不遵循 unicode_region_subtag 语法(2 个字母字符或 3 个数字字符),则直接抛出 RangeError 而不是使用回退。 |
---|
规范 # ECMAScript 国际化 API 规范 |
浏览器兼容性
sec-Intl.DisplayNames.prototype.of