diff options
Diffstat (limited to 'files/ja/web/javascript/reference')
4 files changed, 102 insertions, 106 deletions
diff --git a/files/ja/web/javascript/reference/global_objects/intl/locale/index.html b/files/ja/web/javascript/reference/global_objects/intl/locale/index.html deleted file mode 100644 index 58744e2b26..0000000000 --- a/files/ja/web/javascript/reference/global_objects/intl/locale/index.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: Intl.Locale -slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale -tags: - - Class - - Internationalization - - Intl - - JavaScript - - Reference - - クラス - - 国際化 -translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary"><strong><code>Intl.Locale</code></strong> オブジェクトは、 Unicode ロケール識別子を表す Intl オブジェクトの標準組み込みプロパティです。</span></p> - -<div>{{EmbedInteractiveExample("pages/js/intl-locale.html")}}</div> - -<h2 id="Description" name="Description">解説</h2> - -<p><code><strong>Intl.Locale</strong></code> オブジェクトは、 Unicode ロケールをより簡単に操作できるようにするために作成されました。 Unicode は、ロケールを<em>ロケール識別子</em>と呼ばれる文字列で表します。ロケール識別子は、<em>言語識別子</em>と<em>拡張タグ</em>から構成されます。言語識別子はロケールの中核となるもので、<em>言語</em>、<em>文字体系</em>、<em>地域サブタグ</em>から構成されます。ロケールに関する追加情報は、オプションの拡張タグに格納されます。<em>拡張タグ</em>には、暦の種類や時計の種類、数値表記法の種類などのロケールに関する情報が格納されています。</p> - -<p>従来、 Intl API は Unicode と同様に文字列を使用してロケールを表していました。これはシンプルで軽量な解決策であり、うまく機能します。しかし、 Locale クラスを追加することで、言語、文字体系、地域、拡張タグの解析や操作が容易になります。</p> - -<h2 id="Constructor" name="Constructor">コンストラクター</h2> - -<dl> - <dt>{{jsxref("Locale/Locale", "Intl.Locale()")}}</dt> - <dd>新しい <code>Locale</code> オブジェクトを生成します。</dd> -</dl> - -<h2 id="Properties" name="Properties">プロパティ</h2> - -<dl> - <dt><code>Intl.Locale.prototype</code></dt> - <dd><code>Locale</code> コンストラクターのプロトタイプオブジェクトです。</dd> -</dl> - -<h2 id="Instance_properties" name="Instance_properties">インスタンスプロパティ</h2> - -<dl> - <dt>{{jsxref("Locale/baseName", "Intl.Locale.prototype.baseName")}}</dt> - <dd>この <code>Locale</code> に関する基本的な情報を、完全なデータ文字列の部分文字列の形で返します。</dd> - <dt>{{jsxref("Locale/calendar", "Intl.Locale.prototype.calendar")}}</dt> - <dd>このロケールの暦年を示す <code>Locale</code> の部分を返します。</dd> - <dt>{{jsxref("Locale/caseFirst", "Intl.Locale.prototype.caseFirst")}}</dt> - <dd>ロケールの照合規則に大文字・小文字を考慮しているかどうかを返します。</dd> - <dt>{{jsxref("Locale/collation", "Intl.Locale.prototype.collation")}}</dt> - <dd>この <code>Locale</code> の照合の種類を返します。これは、ロケールの規則に従って文字列を並べ替えるために使用します。</dd> - <dt>{{jsxref("Locale/hourCycle", "Intl.Locale.prototype.hourCycle")}}</dt> - <dd>このロケールが使用している時刻保持書式の規約を返します。</dd> - <dt>{{jsxref("Locale/language", "Intl.Locale.prototype.language")}}</dt> - <dd>このロケールに関連づけられた言語を返します。</dd> - <dt>{{jsxref("Locale/numberingSystem", "Intl.Locale.prototype.numberingSystem")}}</dt> - <dd>このロケールが使用している数値表記法を返します。</dd> - <dt>{{jsxref("Locale/numeric", "Intl.Locale.prototype.numeric")}}</dt> - <dd>このロケールが数字に対して特殊な照合順序を持っているかどうかを返します。</dd> - <dt>{{jsxref("Locale/region", "Intl.Locale.prototype.region")}}</dt> - <dd>このロケールに関連付けられた世界の地域 (通常は国) を返します。</dd> - <dt>{{jsxref("Locale/script", "Intl.Locale.prototype.script")}}</dt> - <dd>このロケールで使われている特定の言語を書く際に使用する文字体系を返します。</dd> -</dl> - -<h2 id="Instance_methods" name="Instance_methods">インスタンスメソッド</h2> - -<dl> - <dt>{{jsxref("Locale/minimize", "Intl.Locale.prototype.minimize()")}}</dt> - <dd>既存の値に基づいて、ロケールの言語、表記法、地域の最も可能性の高い値を取得します。</dd> - <dt>{{jsxref("Locale/maximize", "Intl.Locale.prototype.maximize()")}}</dt> - <dd>既存の値に基づいて、ロケールの言語、表記法、地域の最も可能性の高い値を取得します。</dd> - <dt>{{jsxref("Locale/toString", "Intl.Locale.prototype.toString()")}}</dt> - <dd>このロケールの完全なロケール識別子文字列を返します。</dd> -</dl> - -<h2 id="Specifications" name="Specifications">仕様書</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ES Int Draft', '#locale-objects')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> - -<div> -<p>{{Compat("javascript.builtins.Intl.Locale")}}</p> -</div> - -<h2 id="See_also" name="See_also">関連情報</h2> - -<ul> - <li><a href="https://github.com/zbraniecki/Intl.js/tree/intllocale">The Intl.Locale Polyfill</a></li> - <li><a href="https://www.unicode.org/reports/tr35/#Canonical_Unicode_Locale_Identifiers">Unicode locale identifiers spec</a></li> -</ul> diff --git a/files/ja/web/javascript/reference/global_objects/intl/locale/index.md b/files/ja/web/javascript/reference/global_objects/intl/locale/index.md new file mode 100644 index 0000000000..2889af2f7c --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/intl/locale/index.md @@ -0,0 +1,98 @@ +--- +title: Intl.Locale +slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale +tags: + - Class + - Internationalization + - Intl + - JavaScript + - Locale + - Reference + - クラス + - 国際化 +browser-compat: javascript.builtins.Intl.Locale +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale +--- +{{JSRef}} + +**`Intl.Locale`** オブジェクトは、 Unicode ロケール識別子を表す Intl オブジェクトの標準組み込みプロパティです。 + +{{EmbedInteractiveExample("pages/js/intl-locale.html")}} + +<!-- The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request. --> + +## 解説 + +**`Intl.Locale`** オブジェクトは、 Unicode ロケールをより簡単に操作できるようにするために作成されました。 Unicode は、ロケールを*ロケール識別子*と呼ばれる文字列で表します。ロケール識別子は、*言語識別子*と*拡張タグ*から構成されます。言語識別子はロケールの中核となるもので、*言語*、*文字体系*、*地域サブタグ*から構成されます。ロケールに関する追加情報は、オプションの拡張タグに格納されます。*拡張タグ*には、暦の種類や時計の種類、数値表記法の種類などのロケールに関する情報が格納されています。 + +従来、 Intl API は Unicode と同様に文字列を使用してロケールを表していました。これはシンプルで軽量な解決策であり、うまく機能します。しかし、 Locale クラスを追加することで、言語、文字体系、地域、拡張タグの解析や操作が容易になります。 + +## コンストラクター + +- {{jsxref("Intl/Locale/Locale", "Intl.Locale()")}} + - : 新しい `Locale` オブジェクトを生成します。 + +## インスタンスプロパティ + +- {{jsxref("Intl/Locale/baseName", "Intl.Locale.prototype.baseName")}} + - : この `Locale` に関する基本的な情報を、完全なデータ文字列の部分文字列の形で返します。 +- {{jsxref("Intl/Locale/calendar", "Intl.Locale.prototype.calendar")}} + - : このロケールの暦年を示す `Locale` の部分を返します。 +- {{jsxref("Intl/Locale/caseFirst", "Intl.Locale.prototype.caseFirst")}} + - : ロケールの照合規則に大文字・小文字を考慮しているかどうかを返します。 +- {{jsxref("Intl/Locale/collation", "Intl.Locale.prototype.collation")}} + - : この `Locale` の照合の種類を返します。これは、ロケールの規則に従って文字列を並べ替えるために使用します。 +- {{jsxref("Intl/Locale/hourCycle", "Intl.Locale.prototype.hourCycle")}} + - : このロケールが使用している時刻保持書式の規則を返します。 +- {{jsxref("Intl/Locale/language", "Intl.Locale.prototype.language")}} + - : このロケールに関連づけられた言語を返します。 +- {{jsxref("Intl/Locale/numberingSystem", "Intl.Locale.prototype.numberingSystem")}} + - : このロケールが使用している数値表記法を返します。 +- {{jsxref("Intl/Locale/numeric", "Intl.Locale.prototype.numeric")}} + - : このロケールが数字に対して特殊な照合順序を持っているかどうかを返します。 +- {{jsxref("Intl/Locale/region", "Intl.Locale.prototype.region")}} + - : このロケールに関連付けられた世界の地域 (通常は国) を返します。 +- {{jsxref("Intl/Locale/script", "Intl.Locale.prototype.script")}} + - : このロケールで使われている特定の言語を書く際に使用する文字体系を返します。 + +## インスタンスメソッド + +- {{jsxref("Intl/Locale/maximize", "Intl.Locale.prototype.maximize()")}} + - : 既存の値に基づいて、ロケールの言語、表記法、地域の最も可能性の高い値を取得します。 +- {{jsxref("Intl/Locale/minimize", "Intl.Locale.prototype.minimize()")}} + - : {{jsxref("Intl/Locale/maximize", "Locale.maximize()")}} を呼び出すことで追加されるロケールに関する情報を削除しようとします。 +- {{jsxref("Intl/Locale/toString", "Intl.Locale.prototype.toString()")}} + - : このロケールの完全なロケール識別子文字列を返します。 + +## 例 + +### 基本的な使用 + +{{jsxref("Intl/Locale/Locale", "Intl.Locale")}} のコンストラクターは、もっとも簡単なものでは、ロケール識別子の文字列を引数に取ります。 + +```js +let us = new Intl.Locale('en-US'); +``` + +### Locale コンストラクターの options オブジェクト付きでの使用 + +このコンストラクターは、オプションで構成オブジェクトの引数を取ることができます。たとえば、構成オブジェクトの {{jsxref("Intl/Locale/hourCycle", "hourCycle")}} プロパティに任意の時間サイクル種別を設定し、それをコンストラクターに渡します。 + +```js +let us12hour = new Intl.Locale("en-US", {hourCycle: "h12"}); +console.log(us12hour.hourCycle); // Prints "h12" +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{jsxref("Intl")}} +- [Intl.Locale のポリフィル](https://formatjs.io/docs/polyfills/intl-locale) +- [Unicode ロケール識別子の仕様書](https://www.unicode.org/reports/tr35/#Canonical_Unicode_Locale_Identifiers) diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html b/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html index 9c93cf21cc..4064df7666 100644 --- a/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html +++ b/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html @@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory <dt><code>Memory.prototype.constructor</code></dt> <dd>このオブジェクトのインスタンスを生成した関数を返します。既定では {{jsxref("WebAssembly.Memory()")}} コンストラクターです。</dd> <dt>{{jsxref("WebAssembly/Memory/buffer","Memory.prototype.buffer")}}</dt> - <dd>メモリに格納されているバッファーを返すアクセサープロパティです。/dd></dd> + <dd>メモリに格納されているバッファーを返すアクセサープロパティです。</dd> </dl> <h3 id="Instance_methods" name="Instance_methods">インスタンスメソッド</h3> diff --git a/files/ja/web/javascript/reference/strict_mode/index.html b/files/ja/web/javascript/reference/strict_mode/index.html index c24a489769..5ef5aaf11e 100644 --- a/files/ja/web/javascript/reference/strict_mode/index.html +++ b/files/ja/web/javascript/reference/strict_mode/index.html @@ -26,7 +26,7 @@ translation_of: Web/JavaScript/Reference/Strict_mode <h2 id="Invoking_strict_mode" name="Invoking_strict_mode">Strict モードの呼び出し</h2> -<p>Strict モードは<em>スクリプト全体</em>または<em>個別の関数</em>に適用できます。括弧 <code><a href="/ja/docs/Web/JavaScript/Reference/Statements/block">{}</a></code> で括られるブロック構文には適用できません。そのような場所に適用しようとしても何も起きません。<code><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/eval">eval</a></code> コード、<code><a href="/ja/docs/Web/JavaScript/Reference/Statements/function">Function</a></code> コード、イベントハンドラ属性、<a href="/ja/DOM/window.setTimeout" title="ja/DOM/window.setTimeout"><code>setTimeout</code></a> コードに渡す文字列、およびこれらに似たものはスクリプト全体であり、Strict モードを呼び出すと期待どおりに動作します。</p> +<p>Strict モードは<em>スクリプト全体</em>または<em>個別の関数</em>に適用できます。括弧 <code><a href="/ja/docs/Web/JavaScript/Reference/Statements/block">{}</a></code> で括られるブロック構文には適用できません。そのような場所に適用しようとしても何も起きません。<code><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/eval">eval</a></code> コード、<code><a href="/ja/docs/Web/JavaScript/Reference/Statements/function">Function</a></code> コード、イベントハンドラ属性、<a href="/ja/DOM/window.setTimeout"><code>setTimeout</code></a> コードに渡す文字列、およびこれらに似たものはスクリプト全体であり、Strict モードを呼び出すと期待どおりに動作します。</p> <h3 id="Strict_mode_for_scripts" name="Strict_mode_for_scripts">スクリプトでの Strict モード</h3> @@ -79,7 +79,7 @@ export default strict; mistypeVariable = 17; // この行は変数のスペルミスによる参照エラーを投げます。 </pre> -<p>第二に、Strict モードでは、代入文で暗黙的に失敗せずに例外が発生するようにします。例えば、<code>NaN</code> は書き込み不可のグローバル変数です。通常のコードでは <code>NaN</code> に代入しても何も起きません。つまり、開発者は失敗したという通知を受けません。Strict モードでは <code>NaN</code> に代入すると例外が発生します。通常のコードで暗黙的に失敗する代入 (書き込み不可のプロパティへの代入、getter のみのプロパティへの代入、<a href="/ja/JavaScript/Reference/Global_Objects/Object/preventExtensions" title="ja/JavaScript/Reference/Global Objects/Object/preventExtensions">拡張不可</a> オブジェクトへの新規プロパティ割り当て) について、Strict モードでは例外が発生します:</p> +<p>第二に、Strict モードでは、代入文で暗黙的に失敗せずに例外が発生するようにします。例えば、<code>NaN</code> は書き込み不可のグローバル変数です。通常のコードでは <code>NaN</code> に代入しても何も起きません。つまり、開発者は失敗したという通知を受けません。Strict モードでは <code>NaN</code> に代入すると例外が発生します。通常のコードで暗黙的に失敗する代入 (書き込み不可のプロパティへの代入、getter のみのプロパティへの代入、<a href="/ja/JavaScript/Reference/Global_Objects/Object/preventExtensions">拡張不可</a> オブジェクトへの新規プロパティ割り当て) について、Strict モードでは例外が発生します:</p> <pre class="brush: js notranslate">'use strict'; @@ -257,7 +257,7 @@ f(); // TypeError が投げられます <p>Strict モードにより"セキュアな" JavaScript の記述がより簡単になります。現在、一部の Web サイトではユーザー向に対し、Web サイトの<em>他のユーザーが</em>実行することができる JavaScript を記述する方法を提供しています。ブラウザー上の JavaScript はユーザーの個人的な情報にアクセスできることから、そのような JavaScript は禁じられた機能へのアクセスを削除するよう、実行前に部分的に変換する必要があります。JavaScript の柔軟性は、ランタイムによる多くのチェックなしにこれを行うことを事実上不可能にします。ある言語機能は、ランタイムのチェック実行にかなりパフォーマンスのコストがかかるとして広まっています。Strict モードのいくつかの調整、そしてユーザーが投稿した JavaScript が Strict モードのコードであることや信頼できる方法で呼び出されることの要求により、ランタイムのチェックの必要性をかなり減らします。</p> -<p>第一に、Strict モードでは、<code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> として関数に渡された値をオブジェクトへボクシングしません。非ストリクトモードでの関数にとって <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> は常にオブジェクトになります。this の値は、実行時に this オブジェクト値として提供されたオブジェクトであったり、真偽値・文字列・数値などのプリミティブな値が <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> として呼び出した時はオブジェクトへボクシングした値、<code>{{Glossary("Undefined", "undefined")}}</code> または <code>{{Glossary("Null", "null")}}</code> の <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> で呼び出された時はグローバルオブジェクトとなります。(特定の <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> を指定するために <a href="/ja/JavaScript/Reference/Global_Objects/Function/call" title="ja/JavaScript/Reference/Global_Objects/Function/call"><code>call</code></a>、<a href="/ja/JavaScript/Reference/Global_Objects/Function/apply" title="ja/JavaScript/Reference/Global_Objects/Function/apply"><code>apply</code></a>、<a href="/ja/JavaScript/Reference/Global_Objects/Function/bind" title="ja/JavaScript/Reference/Global_Objects/Function/bind"><code>bind</code></a> を使用してください)。自動的なボクシングはパフォーマンス上のコストがあり、しかしブラウザーでグローバルオブジェクトを公開することは、"セキュアな" JavaScript 環境へのアクセスを提供するグローバルオブジェクトを制限する必要があるためにセキュリティ上の危険性があります。従って Strict モードの関数では、指定された <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> を変更せずに使用します:</p> +<p>第一に、Strict モードでは、<code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> として関数に渡された値をオブジェクトへボクシングしません。非ストリクトモードでの関数にとって <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> は常にオブジェクトになります。this の値は、実行時に this オブジェクト値として提供されたオブジェクトであったり、真偽値・文字列・数値などのプリミティブな値が <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> として呼び出した時はオブジェクトへボクシングした値、<code>{{Glossary("Undefined", "undefined")}}</code> または <code>{{Glossary("Null", "null")}}</code> の <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> で呼び出された時はグローバルオブジェクトとなります。(特定の <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> を指定するために <a href="/ja/JavaScript/Reference/Global_Objects/Function/call"><code>call</code></a>、<a href="/ja/JavaScript/Reference/Global_Objects/Function/apply"><code>apply</code></a>、<a href="/ja/JavaScript/Reference/Global_Objects/Function/bind"><code>bind</code></a> を使用してください)。自動的なボクシングはパフォーマンス上のコストがあり、しかしブラウザーでグローバルオブジェクトを公開することは、"セキュアな" JavaScript 環境へのアクセスを提供するグローバルオブジェクトを制限する必要があるためにセキュリティ上の危険性があります。従って Strict モードの関数では、指定された <code><a href="/ja/docs/Web/JavaScript/Reference/Operators/this">this</a></code> を変更せずに使用します:</p> <pre class="brush: js notranslate">'use strict'; function fun() { return this; } |