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 (en-US)

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

Методы

Intl.ListFormat.supportedLocalesOf() (en-US)

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

Примеры

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

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

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

js
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" } ];

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

Specification
ECMAScript Internationalization API Specification
# listformat-objects