Intl.ListFormat

Объект Intl.ListFormat представляет собой конструктор объектов, включающих языко-зависимое форматирование списков.

Синтаксис

new Intl.ListFormat([locales[, options]]) 

Параметры

locales

Необязательный параметр. Строка с языковой меткой BCP 47 или массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на странице Intl.

options
Необязательный параметр. Объект с некоторыми или всеми из следующих свойств:
  • localeMatcher
    Используемый алгоритм сопоставления локалей. Возможные значения: "lookup" и "best fit"; по умолчанию используется "best fit". Подробнее см. на странице Intl.
  • type
    Формат вывода. Возможные значения: "conjunction" для вывода значений через "и" (используется по умолчанию, прим. A, B, и C) или "disjunction" для вывода значений через "или" (прим. A, B, или C). "unit" для вывода значений с единицами измерений (прим. 5 фунтов, 12 унций).
  • style
    Стиль форматирования вывода. Возможные значения: "long" (используется по умолчанию, прим. A, B, и C); "short" или "narrow" (прим. A, B, C). При использовании narrow, параметр type может принимать только значение unit.

Описание

Свойства

Intl.ListFormat.prototype
Позволяет добавлять свойства ко всем объектам Intl.ListFormat

Методы

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

Примеры

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

Пример ниже показывает как создать объект ListFormat с поддержкой форматирования на русском языке и получить отформатированную строку с помощью метода format.

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

 console.log(new Intl.ListFormat('ru-RU', { style: 'long', type: 'conjunction' }).format(list));
// > Motorcycle, Bus и Car

 console.log(new Intl.ListFormat('ru-RU', { style: 'short', type: 'disjunction' }).format(list));
// > Motorcycle, Bus или Car

 console.log(new Intl.ListFormat('ru-RU', { style: 'narrow', type: 'unit' }).format(list));
// > Motorcycle Bus Car

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

Пример ниже показывает как получить отформатированные части объекта ListFormat с помощью метода 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" } ];

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

Спецификация Статус Комментарий
Intl.ListFormat proposal Stage 3