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 identifer 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 Locale constructor. Note that the script is not a required part of a locale identifier.

let scriptStr = new Intl.Locale("en-Latn-US");

console.log(scriptStr.script); // Prints "Latn"

Setting the script via the configuration object

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

let scriptObj = new Intl.Locale("fr-FR", {script: "Latn"});

console.log(scriptObj.script); // Prints "Latn"


ECMAScript Internationalization API (ECMA-402)

Browser compatibility

BCD tables only load in the browser

See also