Intl.ListFormat

The Intl.ListFormat object enables language-sensitive list formatting.

Constructor

Intl.ListFormat()

Creates a new Intl.ListFormat object.

Static methods

Intl.ListFormat.supportedLocalesOf()

Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.

Instance methods

Intl.ListFormat.prototype.format()

Returns a language-specific formatted string representing the elements of the list.

Intl.ListFormat.prototype.formatToParts()

Returns an array of objects representing the different components that can be used to format a list of values in a locale-aware fashion.

Examples

Using format

The following example shows how to create a List formatter using the English language.

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

Using formatToParts

The following example shows how to create a List formatter returning formatted parts

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

Polyfill

formatjs Intl.ListFormat polyfill

Specifications

Specification
ECMAScript Internationalization API Specification (ECMAScript Internationalization API)
# listformat-objects

Browser compatibility

BCD tables only load in the browser

See also