Spec-Zone.ru › JavaScript

Intl.ListFormat

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с апреля 2021 года.

Объект Intl.ListFormat обеспечивает форматирование списков с учетом языка.

Попробуйте

const vehicles = ["Motorcycle", "Bus", "Car"];

const formatter = new Intl.ListFormat("en", {
  style: "long",
  type: "conjunction",
});
console.log(formatter.format(vehicles));
// Expected output: "Motorcycle, Bus, and Car"

const formatter2 = new Intl.ListFormat("de", {
  style: "short",
  type: "disjunction",
});
console.log(formatter2.format(vehicles));
// Expected output: "Motorcycle, Bus oder Car"

const formatter3 = new Intl.ListFormat("en", { style: "narrow", type: "unit" });
console.log(formatter3.format(vehicles));
// Expected output: "Motorcycle Bus Car"

Конструктор

Intl.ListFormat()
Создает новый объект Intl.ListFormat.

Статические методы

Intl.ListFormat.supportedLocalesOf()
Возвращает массив, содержащий те из предоставленных локалей, которые поддерживаются без необходимости отката к локали по умолчанию среды выполнения.

Свойства экземпляра

Эти свойства определены в Intl.ListFormat.prototype и являются общими для всех экземпляров Intl.ListFormat.

Intl.ListFormat.prototype.constructor
Функция-конструктор, создавшая объект экземпляра. Для экземпляров Intl.ListFormat начальное значение — это конструктор Intl.ListFormat.
Intl.ListFormat.prototype[Symbol.toStringTag]
Начальное значение свойства [Symbol.toStringTag] — это строка "Intl.ListFormat". Это свойство используется в Object.prototype.toString().

Методы экземпляра

Intl.ListFormat.prototype.format()
Возвращает отформатированную строку, зависящую от языка, представляющую элементы списка.
Intl.ListFormat.prototype.formatToParts()
Возвращает массив объектов, представляющих различные компоненты, которые могут быть использованы для форматирования списка значений с учетом локали.
Intl.ListFormat.prototype.resolvedOptions()
Возвращает новый объект со свойствами, отражающими локаль и параметры форматирования стиля, рассчитанные во время создания текущего объекта Intl.ListFormat.

Примеры

Использование format

Следующий пример показывает, как создать форматтер списка, используя английский язык.

const list = ["Motorcycle", "Bus", "Car"];

console.log(
  new Intl.ListFormat("en-GB", { style: "long", type: "conjunction" }).format(
    list,
  ),
);
// Motorcycle, Bus and Car

console.log(
  new Intl.ListFormat("en-GB", { style: "short", type: "disjunction" }).format(
    list,
  ),
);
// Motorcycle, Bus or Car

console.log(
  new Intl.ListFormat("en-GB", { style: "narrow", type: "unit" }).format(list),
);
// Motorcycle Bus Car

Использование formatToParts

Следующий пример показывает, как создать форматтер списка, возвращающий отформатированные части

const list = ["Motorcycle", "Bus", "Car"];
console.log(
  new Intl.ListFormat("en-GB", {
    style: "long",
    type: "conjunction",
  }).formatToParts(list),
);

// [ { "type": "element", "value": "Motorcycle" },
//   { "type": "literal", "value": ", " },
//   { "type": "element", "value": "Bus" },
//   { "type": "literal", "value": ", and " },
//   { "type": "element", "value": "Car" } ];

Спецификации

Спецификация
ECMAScript® 2027 Internationalization API Specification
# listformat-objects

Совместимость с браузерами

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
ListFormat
72
79
78
60
14.1Доступно только в macOS Big Sur (11) и выше.
72
79
51
14.5
11.0
72
14.5
1.0.3
1.8
12.0.0До версии 13.0.0 по умолчанию доступны только данные локали для en-US. Подробнее см. в конструкторе ListFormat().
ListFormat
72
79
78
60
14.1Доступно только в macOS Big Sur (11) и выше.
72
79
51
14.5
11.0
72
14.5
1.0.3
1.8
13.0.0
12.0.0–13.0.0До версии 13.0.0 по умолчанию доступны только данные локали для en-US. При указании других локалей экземпляр ListFormat незаметно откатывается к en-US. Чтобы сделать полные данные ICU (локали) доступными до версии 13, см. документацию Node.js по опции --with-intl и способам предоставления данных.
format
72
79
78
60
14.1Доступно только в macOS Big Sur (11) и выше.
72
79
51
14.5
11.0
72
14.5
1.0.3
1.8
12.0.0До версии 13.0.0 по умолчанию доступны только данные локали для en-US. Подробнее см. в конструкторе ListFormat().
formatToParts
72
79
78
60
14.1Доступно только в macOS Big Sur (11) и выше.
72
79
51
14.5
11.0
72
14.5
1.0.3
1.8
12.0.0До версии 13.0.0 по умолчанию доступны только данные локали для en-US. Подробнее см. в конструкторе ListFormat().
resolvedOptions
72
79
78
60
14.1Доступно только в macOS Big Sur (11) и выше.
72
79
51
14.5
11.0
72
14.5
1.0.3
1.8
12.0.0До версии 13.0.0 по умолчанию доступны только данные локали для en-US. Подробнее см. в конструкторе ListFormat().
supportedLocalesOf
72
79
78
60
14.1Доступно только в macOS Big Sur (11) и выше.
72
79
51
14.5
11.0
72
14.5
1.0.3
1.8
13.0.0
12.0.0–13.0.0До версии 13.0.0 по умолчанию доступны только данные локали для en-US. Чтобы сделать полные данные ICU (локали) доступными до версии 13, см. документацию Node.js по опции --with-intl и способам предоставления данных.

См. также

  • Полифил Intl.ListFormat в FormatJS
  • Intl

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API