Intl.ListFormat
The Intl.ListFormat object enables language-sensitive list formatting.
Constructor
Intl.ListFormat()- 
    
Creates a new
Intl.ListFormatobject. 
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
| Specification | 
|---|
| ECMAScript Internationalization API Specification  # listformat-objects  | 
Browser compatibility
BCD tables only load in the browser