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

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
scriptChrome Full support 74Edge Full support 79Firefox Full support 75IE No support NoOpera Full support 62Safari Full support 14WebView Android Full support 74Chrome Android Full support 74Firefox Android No support NoOpera Android Full support 53Safari iOS Full support 14Samsung Internet Android Full support 11.0nodejs Full support 12.0.0
Full support 12.0.0
Notes Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.


Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

See also