Intl.Locale.prototype.script
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年9月.
script は Intl.Locale インスタンスのアクセサープロパティで、ロケールで使われている特定の言語を書くための文字体系を返します。
解説
文字体系は、用字系と呼ばれることもありますが、ロケールの核となる属性の一つです。これは、特定の言語を書くために使用される記号や自体の集合を示しています。例えば、英語の文字はラテン文字ですが、韓国語の文字はハングルです。多くの場合、言語(これは必須)は単一の文字体系でしか書かれないので、文字体系を記述することは厳密には必要ありません。ただし、この規則には例外があり、複数の文字体系が適用可能な場合には、使用する文字体系を示すことが重要です。
script プロパティの値は、構築時に設定されます。設定方法は、ロケール識別子の language の後の部分を通じて、または Intl.Locale() コンストラクターの script オプションを通じて行われます。両方が存在する場合、後者が優先されます。どちらも存在しない場合、プロパティの値は undefined となります。
script の設定アクセサーは undefined です。このプロパティを直接変更することはできません。
例
他のロケールサブタグと同様に、文字体系の値はロケール文字列を介して、またはコンストラクターへの設定オブジェクト引数として、Intl.Locale オブジェクトに追加できます。
ロケール識別子の文字列引数で文字体系を設定
文字体系は、有効な Unicode 言語識別子文字列の 2 番目の部分であり、これを Locale コンストラクターに渡すロケール識別子文字列に追加することで設定することができます。なお、文字体系はロケール識別子の必須項目ではありません。
const locale = new Intl.Locale("en-Latn-US");
console.log(locale.script); // "Latn" と表示
構成オブジェクトから文字体系を設定
Intl.Locale() コンストラクターには、オプションの構成オブジェクト引数があります。設定オブジェクトの script プロパティを希望の文字体系に設定し、それをコンストラクターに渡します。
const locale = new Intl.Locale("fr-FR", { script: "Latn" });
console.log(locale.script); // "Jpan" と表示
仕様書
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-Intl.Locale.prototype.script> |
ブラウザーの互換性
関連情報
Intl.Locale- Unicode script subtag(Unicode ロケールデータマークアップ言語仕様書)