javascript / latest / global_objects / intl / listformat.html /

Intl.ListFormat

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

Try it

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

Specifications

Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
ListFormat
72
79
78
No
60
14.1
Only available on macOS Big Sur (11) and above.
72
72
79
51
14.5
11.0
1.8
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
ListFormat
72
79
78
No
60
14.1
Only available on macOS Big Sur (11) and above.
72
72
79
51
14.5
11.0
1.8
13.0.0
12.0.0
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 before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
format
72
79
78
No
60
14.1
Only available on macOS Big Sur (11) and above.
72
72
79
51
14.5
11.0
1.8
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
formatToParts
72
79
78
No
60
14.1
Only available on macOS Big Sur (11) and above.
72
72
79
51
14.5
11.0
1.8
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
resolvedOptions
72
79
78
No
60
14.1
Only available on macOS Big Sur (11) and above.
72
72
79
51
14.5
11.0
1.8
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
supportedLocalesOf
72
79
78
No
60
14.1
Only available on macOS Big Sur (11) and above.
72
72
79
51
14.5
11.0
1.8
13.0.0
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.

See also

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat