Intl.ListFormat() constructor

The Intl.ListFormat() constructor creates Intl.ListFormat objects that enable language-sensitive list formatting.


new Intl.ListFormat()
new Intl.ListFormat(locales)
new Intl.ListFormat(locales, options)


locales Optional

A string with a BCP 47 language tag, or an array of such strings. For the general form and interpretation of the locales argument, see the Intl page.

options Optional

An object with some or all of the following properties:


The locale matching algorithm to use. Possible values are "lookup" and "best fit"; the default is "best fit". For information about this option, see the Intl page.


The format of output message. Possible values are "conjunction" that stands for "and"-based lists (default, e.g., "A, B, and C"), or "disjunction" that stands for "or"-based lists (e.g., "A, B, or C"). "unit" stands for lists of values with units (e.g., "5 pounds, 12 ounces").


The length of the formatted message. Possible values are: "long" (default, e.g., "A, B, and C"); "short" (e.g., "A, B, C"), or "narrow" (e.g., "A B C"). When style is "short" or "narrow", "unit" is the only allowed value for the type option.


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


ECMAScript Internationalization API Specification (ECMAScript Internationalization API)
# sec-intl-listformat-constructor

Browser compatibility

BCD tables only load in the browser

See also