The Intl.Locale.prototype.script property is an accessor property which returns the script used for writing the particular language used in the locale.


A script, sometimes called writing system, is one of the core attributes of a locale. It indicates the set of symbols, or glyphs, that are used to write a particular language. For instance, the script associated with English is Latin, whereas the script typically associated with Korean is Hangul. In many cases, denoting a script is not strictly necessary, since the language (which is necessary) is only written in a single script. There are exceptions to this rule, however, and it is important to indicate the script whenever possible, in order to have a complete Unicode language identifier.


Setting the script in the locale identifier string argument

The script is the second part of a valid Unicode language identifier string, and can be set by adding it to the locale identifier string that is passed into the Intl.Locale() constructor. Note that the script is not a required part of a locale identifier.

const locale = new Intl.Locale("en-Latn-US");
console.log(locale.script); // Prints "Latn"

Setting the script via the configuration object

The Intl.Locale() constructor takes a configuration object, which can be used to set the script subtag and property.

const locale = new Intl.Locale("fr-FR", { script: "Latn" });
console.log(locale.script); // Prints "Latn"


ECMAScript Internationalization API Specification
# sec-Intl.Locale.prototype.script

Browser compatibility

BCD tables only load in the browser

See also