Intl.ListFormat() constructor

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

Syntax

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

Parameters

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:

localeMatcher

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.

type

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").

style

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.

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

Specifications

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

Browser compatibility

BCD tables only load in the browser

See also