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"


Browser compatibilityUpdate compatibility data on GitHub

Chrome Edge Firefox Internet Explorer Opera Safari
script 74 79 75 No 62 14
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
script 74 74 No 53 14 11.0
script 12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.