Web/JavaScript/Reference/Global objects/Intl/ListFormat

From Get docs


The Intl.ListFormat object is a constructor for objects that enable language-sensitive list formatting.


Constructor

Intl.ListFormat()
Creates a new 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
Intl.ListFormatThe definition of 'ListFormat' in that specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js

ListFormat

Experimental'

Chrome

Full support 72

Edge

Full support 79

Firefox

Full support 78

IE

No support No

Opera

Full support 60

Safari

No support No

WebView Android

Full support 72

Chrome Android

Full support 72

Firefox Android

No support No

Opera Android

Full support 51

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.

ListFormat() constructor

Experimental'

Chrome

Full support 72

Edge

Full support 79

Firefox

Full support 78

IE

No support No

Opera

Full support 60

Safari

No support No

WebView Android

Full support 72

Chrome Android

Full support 72

Firefox Android

No support No

Opera Android

Full support 51

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs Full support 13.0.0


Full support 13.0.0


Partial support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the ListFormat instance silently falls back to en-US. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.

format

Experimental'

Chrome

Full support 72

Edge

Full support 79

Firefox

Full support 78

IE

No support No

Opera

Full support 60

Safari

No support No

WebView Android

Full support 72

Chrome Android

Full support 72

Firefox Android

No support No

Opera Android

Full support 51

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.

formatToParts

Experimental'

Chrome

Full support 72

Edge

Full support 79

Firefox

Full support 78

IE

No support No

Opera

Full support 60

Safari

No support No

WebView Android

Full support 72

Chrome Android

Full support 72

Firefox Android

No support No

Opera Android

Full support 51

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.

resolvedOptions

Experimental'

Chrome

Full support 72

Edge

Full support 79

Firefox

Full support 78

IE

No support No

Opera

Full support 60

Safari

No support No

WebView Android

Full support 72

Chrome Android

Full support 72

Firefox Android

No support No

Opera Android

Full support 51

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.

supportedLocalesOf

Experimental'

Chrome

Full support 72

Edge

Full support 79

Firefox

Full support 78

IE

No support No

Opera

Full support 60

Safari

No support No

WebView Android

Full support 72

Chrome Android

Full support 72

Firefox Android

No support No

Opera Android

Full support 51

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs Full support 13.0.0


Full support 13.0.0


Partial support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
See implementation notes.'
See implementation notes.


See also