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

js
of(code)

Tham số

code

code cần cung cấp phụ thuộc vào type:

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"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 code không hợp lệ về mặt cấu trúc cho type đã cho.

Ví dụ

Sử dụng phương thức of

js
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"none", undefined sẽ được trả về.

js
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"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.

js
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

Tương thích trình duyệt

Xem thêm