Intl.DisplayNames.prototype.of()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
Phương thức of() của các instance Intl.DisplayNames nhận một code và trả về một chuỗi dựa trên ngôn ngữ và tùy chọn được cung cấp khi khởi tạo đối tượng Intl.DisplayNames này.
Try it
const regionNamesInEnglish = new Intl.DisplayNames(["en"], { type: "region" });
const regionNamesInTraditionalChinese = new Intl.DisplayNames(["zh-Hant"], {
type: "region",
});
console.log(regionNamesInEnglish.of("US"));
// Expected output: "United States"
console.log(regionNamesInTraditionalChinese.of("US"));
// Expected output: "美國"
Cú pháp
of(code)
Tham số
code-
codecần cung cấp phụ thuộc vàotype:- Nếu type là "region",
codenên là mã vùng ISO 3166 hai chữ cái, hoặc mã địa lý UN M49 ba chữ số. Nó phải tuân theo ngữ phápunicode_region_subtag. Sử dụng mã chữ hoa (ví dụ:"US"), vì mã chữ thường (ví dụ:"us") có thể không hoạt động đáng tin cậy ở mọi nơi. - Nếu type là "script",
codenên là mã chữ viết ISO 15924 bốn chữ cái. Nó phải tuân theo ngữ phápunicode_script_subtag. - Nếu type là "language",
codenên khớp với ký hiệu không kết thúcunicode_language_id. - Nếu type là "currency",
codenên là mã tiền tệ ISO 4217 ba chữ cái. Nó phải có chính xác ba ký tự chữ cái. - Nếu type là "dateTimeField",
codenên là một trong:"era","year","quarter","month","weekOfYear","weekday","day","dayPeriod","hour","minute","second","timeZoneName". - Nếu type là "calendar",
codenên là một khóa lịch. Nó phải tuân theo ngữ pháptypecủa một mã định danh ngôn ngữ Unicode.
- Nếu type là "region",
Giá trị trả về
Một chuỗi được định dạng đặc thù theo ngôn ngữ, hoặc undefined nếu không có dữ liệu cho đầu vào và fallback là "none".
Note:
fallback chỉ được sử dụng nếu code hợp lệ về mặt cấu trúc. Xem sử dụng fallback.
Ngoại lệ
RangeError-
Được ném ra nếu
codekhông hợp lệ về mặt cấu trúc chotypeđã cho.
Ví dụ
>Sử dụng phương thức of
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"
const languageNamesStandard = new Intl.DisplayNames("fr", {
type: "language",
languageDisplay: "standard",
});
languageNamesStandard.of("fr-CA"); // "français (Canada)"
const languageNamesDialect = new Intl.DisplayNames("fr", {
type: "language",
languageDisplay: "dialect",
});
languageNamesDialect.of("fr-CA"); // "français canadien"
Sử dụng fallback
Khi Intl.DisplayNames được khởi tạo với fallback: "code", phương thức of() sẽ trả về code nếu đầu vào có vẻ hợp lệ về mặt cấu trúc nhưng không có dữ liệu cho đầu vào đó. Nếu fallback là "none", undefined sẽ được trả về.
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
Tuy nhiên, điều này chỉ áp dụng nếu code hợp lệ về mặt cấu trúc. Ví dụ, nếu type là "region" nhưng code không tuân theo ngữ pháp unicode_region_subtag (2 ký tự chữ cái hoặc 3 ký tự số), một RangeError sẽ được ném ra trực tiếp thay vì sử dụng fallback.
console.log(
new Intl.DisplayNames("en", { type: "region", fallback: "code" }).of("ZLC"),
); // throws RangeError: invalid value "ZLC" for option region
Đặc tả kỹ thuật
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-Intl.DisplayNames.prototype.of> |