Intl.ListFormat
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.
Объект 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" } ];
Спецификации
Specification |
---|
ECMAScript Internationalization API Specification # listformat-objects |