recursal/MDN huggingface dataset:
Date.prototype.toTimeString()
=============================

**`toTimeString()`** メソッドは、英語の人間が読める形式で `Date` オブジェクトの「時刻」部を返します。

試してみましょう
--------

構文
--


```js
toTimeString()
```

### 返値

英語の人間が読める形式で、与えられた日付の「時刻」部を表す文字列を返します。

解説
--

`Date` インスタンスは特定の時点を参照します。`toTimeString()` は日付をローカルのタイムゾーンで解釈し、*時刻* の部分を英語の書式にします。これは常に `hh:mm:ss GMT±xxxx (TZ)` の形式を使用します。

| 書式文字列 | 説明 |
| --- | --- |
| `hh` | 時間、2 桁（必要であれば先頭の 0 を含む）。 |
| `mm` | 分、2 桁（必要であれば先頭の 0 を含む）。 |
| `ss` | 秒、2 桁（必要であれば先頭の 0 を含む）。 |
| `±xxxx` | ローカルタイムゾーンのオフセット - 時：2桁、分：2桁 (e.g. `-0500`, `+0800`) |
| `TZ` | ローカルタイムゾーンの名前（`PDT`, `PST` など） |

例: "04:42:04 GMT+0000 (Coordinated Universal Time)".

* *日付* の部分を取得したい場合は、 `toDateString()` を使用してください。
* 日付と時刻の両方を取得したい場合は、 `toString()` を使用してください。
* 日付をローカルタイムゾーンではなく UTC として解釈したい場合は、 `toUTCString()` を使用してください。
* 日付をもっとユーザーが読みやすい形式（例えばローカライズ）で整形したい場合は、 `toLocaleTimeString()` を使用してください。
例
-

### toTimeString() の基本的な使い方


```js
const d = new Date(1993, 6, 28, 14, 39, 7);

console.log(d.toString()); // Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
console.log(d.toTimeString()); // 14:39:07 GMT-0600 (PDT)
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.totimestring |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.toLocaleTimeString()`
* `Date.prototype.toDateString()`
* `Date.prototype.toString()`
Date.prototype.getMinutes()
===========================

**`getMinutes()`** メソッドは、地方時に基づき、指定された日時の「分」を返します。

試してみましょう
--------

構文
--


```js
getMinutes()
```

### 返値

地方時に基づき、与えた日時の「分」を表す 0 から 59 までの間の整数値。

例
-

### getMinutes() の使用

以下の 2 行目の文は、`Date` オブジェクトである `xmas95` の値に基づき、変数 `minutes` に 15 という値を代入します。


```js
const xmas95 = new Date("December 25, 1995 23:15:30");
const minutes = xmas95.getMinutes();

console.log(minutes); // 15
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getminutes |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCMinutes()`
* `Date.prototype.setMinutes()`
BigInt64Array() コンストラクター
========================

**`BigInt64Array()`** は型付き配列のコンストラクターで、新しい `BigInt64Array` オブジェクト、すなわち 64 ビット符号付き整数の配列をプラットフォームのバイトオーダーで生成します。バイトオーダーを制御する必要がある場合は、代わりに `DataView` を使用してください。中身は `0n` で初期化されます。生成後は、オブジェクトのメソッドや、標準の配列の添字構文 (すなわち角括弧表記) を用いて配列の要素を参照することができます。

構文
--
```

new BigInt64Array();
new BigInt64Array(length);
new BigInt64Array(typedArray);
new BigInt64Array(object);
new BigInt64Array(buffer [, byteOffset [, length]]);
```

### 引数

`length`

`length` 引数付きで呼び出された場合、 `length` を *`BYTES_PER_ELEMENT` バイトで掛けた大きさ*で、内部の配列バッファーがメモリ内に生成され、内容がゼロになります。

`typedArray`

`typedArray` 引数は任意の型付き配列 (`Int32Array` など) で、 `typedArray` を付けて呼び出された場合、その内容が新しい型付き配列に複写されます。 `typedArray` に含まれるそれぞれの値は、新しい配列にコピーされる前に、このコンストラクターに対応する型に変換されます。新しい型付き配列の長さは、 `typedArray` 引数の長さと同じになります。

`object`

`object` 引数付きで呼び出された場合、新しい型付き配列は `TypedArray.from()` メソッドのようにして生成されます。

`buffer`, `byteOffset`, `length`

`buffer` 引数と、任意で `byteOffset` および `length` 引数をつけて呼び出された場合、新しい型付き配列のビューが作成され、そのビューが指定された `ArrayBuffer` となります。 `byteOffset` および `length` 引数は、型付き配列のビューで公開するメモリの範囲を指定します。両方が省略された場合は、 `buffer` 全体がビューとなり、 `length` のみが省略された場合は、 `buffer` の残りがビューとなります。

例
-

### BigInt64Array を生成するための様々な方法


```js
// From a length
var bigint64 = new BigInt64Array(2);
bigint64[0] = 42n;
console.log(bigint64[0]); // 42n
console.log(bigint64.length); // 2
console.log(bigint64.BYTES\_PER\_ELEMENT); // 8

// From an array
var arr = new BigInt64Array([21n, 31n]);
console.log(arr[1]); // 31n

// From another TypedArray
var x = new BigInt64Array([21n, 31n]);
var y = new BigInt64Array(x);
console.log(y[0]); // 21n

// From an ArrayBuffer
var buffer = new ArrayBuffer(32);
var z = new BigInt64Array(buffer, 0, 4);

// From an iterable
var iterable = (function\* () {
  yield\* [1n, 2n, 3n];
})();
var bigint64 = new BigInt64Array(iterable);
// BigInt64Array[1n, 2n, 3n]
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-typedarray-constructors |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* JavaScript typed arrays
* `BigUint64Array`
* `DataView`
RangeError() コンストラクター
=====================

**`RangeError()`** コンストラクターは、値が存在しないか許可された値の範囲にない場合のエラーを生成します。

構文
--
```

new RangeError([message[, fileName[, lineNumber]]])
```

### 引数

`message` 省略可

人間が読むためのエラーの説明です。

`fileName` 省略可

例外が発生したコードを含むファイルの名前です。

`lineNumber` 省略可

例外が発生したコードの行番号です。

例
-

### RangeError の使用 (数値)


```js
function check(n) {
  if (!(n >= -500 && n <= 500)) {
    throw new RangeError("The argument must be between -500 and 500.");
  }
}

try {
  check(2000);
} catch (error) {
  if (error instanceof RangeError) {
    // Handle the error
  }
}
```

### RangeError の使用 (数値以外)


```js
function check(value) {
  if (["apple", "banana", "carrot"].includes(value) === false) {
    throw new RangeError(
      'The argument must be an "apple", "banana", or "carrot".',
    );
  }
}

try {
  check("cabbage");
} catch (error) {
  if (error instanceof RangeError) {
    // Handle the error
  }
}
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-nativeerror-constructors |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Error`
* `Array`
* `Number.toExponential()`
* `Number.toFixed()`
* `Number.toPrecision()`
* `String.prototype.normalize()`
Intl.NumberFormat
=================

**`Intl.NumberFormat`** オブジェクトは、言語に依存した数値書式を可能にするオブジェクトのコンストラクターです。

試してみましょう
--------

コンストラクター
--------

`Intl.NumberFormat()`

新しい `NumberFormat` オブジェクトを生成します。

静的メソッド
------

`Intl.NumberFormat.supportedLocalesOf()`

提供されたロケールのうち、実行時の既定のロケールにフォールバックせずにサポートされるものを配列に納めて返します。

インスタンスメソッド
----------

`Intl.NumberFormat.prototype.format`

ゲッター関数で、ローケルに応じて、この `NumberFormat` オブジェクトのオプションを持つ数値を書式化する関数を返します。

`Intl.NumberFormat.prototype.formatToParts()`

オブジェクトの `Array` を返し、これは専用のロケールを意識した書式で使用することができる部品内の数値文字列を表します。

`Intl.NumberFormat.prototype.resolvedOptions()`

ローケルを反映しているプロパティとオブジェクトの初期化中に計算された照合オプションをもった新しいオブジェクトを返します。

例
-

### 基本的な使用

ローケルを指定しない基本的な使い方では、既定のローケルとオプションで書式化された文字列が返されます。


```js
var number = 3500;

console.log(new Intl.NumberFormat().format(number));
// → '3,500' 英語(U.S.)ロケールの場合
```

### locales の使用

この例では、地域による数値書式の違いをいくつか紹介します。アプリケーションのユーザーインターフェイスで使われた言語書式を得るには、言語 (およびフォールバック言語) を `locales` 引数により指定してください。


```js
var number = 123456.789;

// ドイツではカンマを小数、ピリオドを千単位の区切りに用います
console.log(new Intl.NumberFormat("de-DE").format(number));
// → 123.456,789

// ほとんどのアラビア語圏ではアラビア数字を用います
console.log(new Intl.NumberFormat("ar-EG").format(number));
// → ١٢٣٤٥٦٫٧٨٩

// インドでは thousands/lakh/crore 区切りが用いられます
console.log(new Intl.NumberFormat("en-IN").format(number));
// → 1,23,456.789

// nu 拡張キーにより漢数字などの番号方式が使えます
console.log(new Intl.NumberFormat("zh-Hans-CN-u-nu-hanidec").format(number));
// → 一二三,四五六.七八九

// バリ語のようにサポートされないかもしれない言語を用いる場合は
// フォールバック言語を含めます。次の例ではインドネシア語です。
console.log(new Intl.NumberFormat(["ban", "id"]).format(number));
// → 123.456,789
```

### options の使用

`options`引数を使うと結果をカスタマイズできます。


```js
var number = 123456.789;

// 通貨フォーマットを用います
console.log(
  new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format(
    number,
  ),
);
// → 123.456,79 €

// 日本円には小数点以下がありません
console.log(
  new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format(
    number,
  ),
);
// → ￥123,457

// 有効数字を3桁に狭めます
console.log(
  new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format(
    number,
  ),
);
// → 1,23,000
```

### style と unit の使用


```js
console.log(
  new Intl.NumberFormat("pt-PT", {
    style: "unit",
    unit: "mile-per-hour",
  }).format(50),
);
// → 50 mi/h

console.log(
  (16).toLocaleString("en-GB", {
    style: "unit",
    unit: "liter",
    unitDisplay: "long",
  }),
);
// → 16 litres
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # numberformat-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Intl`
Intl.ListFormat
===============

**`Intl.ListFormat`** オブジェクトは、言語を考慮したリストの整形ができるようにします。

試してみましょう
--------

コンストラクター
--------

`Intl.ListFormat()`

新しい `Intl.ListFormat` オブジェクトを作成します。

静的メソッド
------

`Intl.ListFormat.supportedLocalesOf()`

指定したロケールのうち、ランタイムの既定のロケールに代替されることなく対応しているものを含む配列を返します。

インスタンスメソッド
----------

`Intl.ListFormat.prototype.format()`

リストの要素を表す、言語を考慮して書式化された文字列を返します。

`Intl.ListFormat.prototype.formatToParts()`

ロケールを考慮した方法で値のリストを書式化するために使用できる、さまざまな部分を表すオブジェクトの配列を返します。

`Intl.ListFormat.prototype.resolvedOptions()`

現在の `Intl.ListFormat` オブジェクトの構築時に計算されたロケールおよびスタイルの書式化オプションを反映したプロパティを持つ、新しいオブジェクトを返します。

例
-

### format の使用

次の例は、英語を使用したリストフォーマッターの作成方法です。


```js
const list = ["Motorcycle", "Bus", "Car"];

console.log(
  new Intl.ListFormat("en-GB", { style: "long", type: "conjunction" }).format(
    list,
  ),
);
// > Motorcycle, Bus and Car

console.log(
  new Intl.ListFormat("en-GB", { style: "short", type: "disjunction" }).format(
    list,
  ),
);
// > Motorcycle, Bus or Car

console.log(
  new Intl.ListFormat("en-GB", { style: "narrow", type: "unit" }).format(list),
);
// > Motorcycle Bus Car
```

### formatToParts の使用

次の例では、整形済みの部分を返すリストフォーマッターを生成する方法を示します。


```js
const list = ["Motorcycle", "Bus", "Car"];
console.log(
  new Intl.ListFormat("en-GB", {
    style: "long",
    type: "conjunction",
  }).formatToParts(list),
);

// [ { "type": "element", "value": "Motorcycle" },
// { "type": "literal", "value": ", " },
// { "type": "element", "value": "Bus" },
// { "type": "literal", "value": ", and " },
// { "type": "element", "value": "Car" } ];
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # listformat-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Intl`
* FormatJS の `Intl.ListFormat` のポリフィル
Intl.DisplayNames
=================

**`Intl.DisplayNames`** オブジェクトは、言語、地域、文字体系の表示名の一貫した翻訳を可能にします。

試してみましょう
--------

コンストラクター
--------

`Intl.DisplayNames()`

`Intl.DisplayNames` オブジェクトを作成します。

静的メソッド
------

`Intl.DisplayNames.supportedLocalesOf()`

提供されたロケールのうち、ランタイムの既定のロケールに代替されることなく対応しているロケールを含む配列を返します。

インスタンスメソッド
----------

`Intl.DisplayNames.prototype.of()`

このメソッドは `code` を受け取り、`Intl.DisplayNames` をインスタンス化したときに指定したロケールとオプションに基づく文字列を返します。

`Intl.DisplayNames.prototype.resolvedOptions()`

オブジェクトの初期化時に計算されたロケールや書式設定のオプションを反映したプロパティを持つ新しいオブジェクトを返します。

例
-

### 国 (地域) の表示名

ロケールを指定して `Intl.DisplayNames` を作成し、国 (地域) コードの表示名を取得する方法です。


```js
// 英語の地域名を表示
let regionNames = new Intl.DisplayNames(['en'], {type: 'region'});
regionNames.of('419'); // "Latin America"
regionNames.of('BZ');  // "Belize"
regionNames.of('US');  // "United States"
regionNames.of('BA');  // "Bosnia & Herzegovina"
regionNames.of('MM');  // "Myanmar (Burma)"

// 繁体字中国語での地域名を表示
regionNames = new Intl.DisplayNames(['zh-Hant'], {type: 'region'});
regionNames.of('419'; // "拉丁美洲"
regionNames.of('BZ'); // "貝里斯"
regionNames.of('US'); // "美國"
regionNames.of('BA'); // "波士尼亞與赫塞哥維納"
regionNames.of('MM'); // "緬甸"
```

### 言語の表示名

ロケールを指定して `Intl.DisplayNames` を作成し、言語-文字体系-国 (地域) の一連の表示名を取得する方法です。


```js
// 英語の言語名を表示
let languageNames = new Intl.DisplayNames(["en"], { type: "language" });
languageNames.of("fr"); // "French"
languageNames.of("de"); // "German"
languageNames.of("fr-CA"); // "Canadian French"
languageNames.of("zh-Hant"); // "Traditional Chinese"
languageNames.of("en-US"); // "American English"
languageNames.of("zh-TW"); // "Chinese (Taiwan)"]

// 繁体字中国語での言語名を表示
languageNames = new Intl.DisplayNames(["zh-Hant"], { type: "language" });
languageNames.of("fr"); // "法文"
languageNames.of("zh"); // "中文"
languageNames.of("de"); // "德文"
```

### 文字体系コードの表示名

ロケールを指定して `Intl.DisplayNames` を作成し、文字体系の表示名を取得する方法です。


```js
// 英語の文字体系名を表示
let scriptNames = new Intl.DisplayNames(["en"], { type: "script" });
// Get script names
scriptNames.of("Latn"); // "Latin"
scriptNames.of("Arab"); // "Arabic"
scriptNames.of("Kana"); // "Katakana"

// 繁体字中国語での文字体系名を表示
scriptNames = new Intl.DisplayNames(["zh-Hant"], { type: "script" });
scriptNames.of("Latn"); // "拉丁文"
scriptNames.of("Arab"); // "阿拉伯文"
scriptNames.of("Kana"); // "片假名"
```

### 通貨コードの表示名

ロケールを指定して `Intl.DisplayNames` を作成し、通貨の表示名を取得する方法です。


```js
// 英語の通貨名を表示
let currencyNames = new Intl.DisplayNames(["en"], { type: "currency" });
// Get currency names
currencyNames.of("USD"); // "US Dollar"
currencyNames.of("EUR"); // "Euro"
currencyNames.of("TWD"); // "New Taiwan Dollar"
currencyNames.of("CNY"); // "Chinese Yuan"

// 繁体字中国語の通貨名を表示
currencyNames = new Intl.DisplayNames(["zh-Hant"], { type: "currency" });
currencyNames.of("USD"); // "美元"
currencyNames.of("EUR"); // "歐元"
currencyNames.of("TWD"); // "新台幣"
currencyNames.of("CNY"); // "人民幣"
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # intl-displaynames-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Intl`
Intl.getCanonicalLocales()
==========================

**`Intl.getCanonicalLocales()`** メソッドは、正規のロケール名を含む配列を返します。重複は省略され、要素は構造的に有効な言語タグとして検証されます。

試してみましょう
--------

構文
--
```

Intl.getCanonicalLocales(locales)
```

### 引数

`locales`

標準ロケール名を取得するための `String` 値リスト。

### 返値

正規のロケール名を含む配列です。

例
-

### getCanonicalLocales の使用


```js
Intl.getCanonicalLocales("EN-US"); // ["en-US"]
Intl.getCanonicalLocales(["EN-US", "Fr"]); // ["en-US", "fr"]

Intl.getCanonicalLocales("EN\_US");
// RangeError:'EN\_US' is not a structurally valid language tag
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # sec-intl.getcanonicallocales |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Intl.NumberFormat.supportedLocalesOf()`
* `Intl.DateTimeFormat.supportedLocalesOf()`
* `Intl.Collator.supportedLocalesOf()`
Intl.PluralRules
================

**`Intl.PluralRules`** オブジェクトは、複数形が影響する書式や言語ルールを使用できるようにします。

コンストラクター
--------

`Intl.PluralRules()`

新しい Intl.PluralRules オブジェクトを生成します。

静的メソッド
------

`Intl.PluralRules.supportedLocalesOf()`

指定したロケールのうち、ランタイムの既定のロケールに代替されることなく対応されているものが入った配列を返します。

インスタンスメソッド
----------

`Intl.PluralRules.prototype.resolvedOptions()`

オブジェクトの初期化中に計算されたロケールとコレクションのオプションを反映したプロパティを持った新しいオブジェクトを返します。

`Intl.PluralRules.prototype.select()`

ロケールを考慮した書式化に使用する複数形を示す文字列を返します。

`Intl.PluralRules.prototype.selectRange()`

このメソッドは 2 つの値を受け取り、ロケールを考慮した書式化に使用する複数形を示す文字列を返します。

例
-

### locales の使用

この例では、ローカライズされた複数形ルールのいくつかを表示します。アプリケーションのユーザーインターフェイスで使う言語の書式を取得するには、 `locales` 引数に言語（および必要に応じて代替言語）を指定してください。


```js
// アラビア語は様々な複数形の規則を持っています

new Intl.PluralRules("ar-EG").select(0);
// → 'zero'
new Intl.PluralRules("ar-EG").select(1);
// → 'one'
new Intl.PluralRules("ar-EG").select(2);
// → 'two'
new Intl.PluralRules("ar-EG").select(6);
// → 'few'
new Intl.PluralRules("ar-EG").select(18);
// → 'many'
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # pluralrules-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Intl`
* `Intl.PluralRules` の FormatJS におけるポリフィル
Intl.Segmenter
==============

**`Intl.Segmenter`** オブジェクトは、ロケールに応じたテキストのセグメンテーションを可能にし、文字列から意味のある項目（書記素、単語、文）を取得することができます。

試してみましょう
--------

コンストラクター
--------

`Intl.Segmenter()`

新しい `Intl.Segmenter` オブジェクトを作成します。

静的メソッド
------

`Intl.Segmenter.supportedLocalesOf()`

指定したロケールのうち、ランタイムのデフォルトロケールにフォールバックすることなくサポートされているものを含む配列を返します。

インスタンスメソッド
----------

`Intl.Segmenter.prototype.resolvedOptions()`

この `Intl.Segmenter` オブジェクトの初期化時に計算されたロケールおよび粒度のオプションを反映したプロパティを持つ新しいオブジェクトを返します。

`Intl.Segmenter.prototype.segment()`

この `Intl.Segmenter` のインスタンスのロケールおよび粒度に従って文字列のセグメントを表す、新しい反復可能な `Segments` のインスタンスを返します。

例
-

### 基本的な使い方と String.prototype.split() との相違点

`String.prototype.split(" ")` を使ってテキストを単語に分割する場合、テキストのロケールが単語間の空白を使用しない場合（つまり、日本語、中国語、タイ語、ラオス語、クメール語、ミャンマー語などの場合）、正しい結果を得ることはできません。


```js
const str = "吾輩は猫である。名前はたぬき。";
console.table(str.split(" "));
// ['吾輩は猫である。名前はたぬき。']
// The two sentences are not correctly segmented.
```



```js
const str = "吾輩は猫である。名前はたぬき。";
const segmenterJa = new Intl.Segmenter("ja-JP", { granularity: "word" });

const segments = segmenterJa.segment(str);
console.table(Array.from(segments));
// [{segment: '吾輩', index: 0, input: '吾輩は猫である。名前はたぬき。', isWordLike: true},
// etc.
// ]
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # segmenter-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Intl.RelativeTimeFormat
=======================

**`Intl.RelativeTimeFormat`** オブジェクトは言語に依存の相対時間の書式化を可能にします。

試してみましょう
--------

コンストラクター
--------

`Intl.RelativeTimeFormat.RelativeTimeFormat()`

新しい `Intl.RelativeTimeFormat` オブジェクトを生成します。

静的メソッド
------

`Intl.RelativeTimeFormat.supportedLocalesOf()` (en-US)

指定されたロケールのうち、実行時の既定のロケールにフォールバックせずに対応されるものを配列に収めて返します。

インスタンスメソッド
----------

`Intl.RelativeTimeFormat.prototype.format()`

`value` および `unit` を、指定された `Intl.RelativeTimeFormat` オブジェクトのロケールと書式化オプションに従って書式化します。

`Intl.RelativeTimeFormat.prototype.formatToParts()`

ロケール固有のカスタムフォーマットに使用可能な相対時間のフォーマットを部分的に表現したオブジェクトの `Array` を返します。

`Intl.RelativeTimeFormat.prototype.resolvedOptions()` (en-US)

オブジェクトの初期化中に計算されたロケールやフォーマットのオプションを反映したプロパティを持つ新しいオブジェクトを返します。

例
-

### 基本的な `format` の使用例

以下は英語の相対時間フォーマッターの使い方の例です。


```js
// 明示的に渡された既定値を使って
// ロケールの相対時間を生成します
const rtf = new Intl.RelativeTimeFormat("en", {
  localeMatcher: "best fit", // other values: "lookup"
  numeric: "always", // other values: "auto"
  style: "long", // other values: "short" or "narrow"
});

// 負数の値 (-1) を使った相対時間のフォーマット
rtf.format(-1, "day");
// > "1 day ago"

// 正数の値 (1) を使った相対時間のフォーマット
rtf.format(1, "day");
// > "in 1 day"
```

### formatToParts の使用例

以下はフォーマットされた部品を返す相対時間フォーマッターの生成方法の例です。


```js
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });

// 日単位の相対時間フォーマット
rtf.formatToParts(-1, "day");
// > [{ type: "literal", value: "yesterday"}]

rtf.formatToParts(100, "day");
// > [{ type: "literal", value: "in " },
// > { type: "integer", value: "100", unit: "day" },
// > { type: "literal", value: " days" }]
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # relativetimeformat-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* The Intl.RelativeTimeFormat API
Intl.Locale
===========

**`Intl.Locale`** オブジェクトは、 Unicode ロケール識別子を表す Intl オブジェクトの標準組み込みプロパティです。

試してみましょう
--------

解説
--

**`Intl.Locale`** オブジェクトは、 Unicode ロケールをより簡単に操作できるようにするために作成されました。 Unicode は、ロケールを*ロケール識別子*と呼ばれる文字列で表します。ロケール識別子は、*言語識別子*と*拡張タグ*から構成されます。言語識別子はロケールの中核となるもので、*言語*、*文字体系*、*地域サブタグ*から構成されます。ロケールに関する追加情報は、オプションの拡張タグに格納されます。*拡張タグ*には、暦の種類や時計の種類、数値表記法の種類などのロケールに関する情報が格納されています。

従来、 Intl API は Unicode と同様に文字列を使用してロケールを表していました。これはシンプルで軽量な解決策であり、うまく機能します。しかし、 Locale クラスを追加することで、言語、文字体系、地域、拡張タグの解析や操作が容易になります。

コンストラクター
--------

`Intl.Locale()`

新しい `Locale` オブジェクトを生成します。

インスタンスプロパティ
-----------

`Intl.Locale.prototype.baseName`

この `Locale` に関する基本的な情報を、完全なデータ文字列の部分文字列の形で返します。

`Intl.Locale.prototype.calendar`

このロケールの暦年を示す `Locale` の部分を返します。

`Intl.Locale.prototype.calendars`

ロケールの規則に従い、利用可能なカレンダー識別子の `Array` を返します。

`Intl.Locale.prototype.caseFirst`

ロケールの照合規則に大文字・小文字を考慮しているかどうかを返します。

`Intl.Locale.prototype.collation`

この `Locale` の照合の種類を返します。これは、ロケールの規則に従って文字列を並べ替えるために使用します。

`Intl.Locale.prototype.hourCycle`

このロケールが使用している時刻保持書式の規則を返します。

`Intl.Locale.prototype.hourCycles`

`Array` で 12 時制 ("h11", "h12") または 24 時制 ("h23", "h24") を示す時周期識別子を返します。

`Intl.Locale.prototype.language`

このロケールに関連づけられた言語を返します。

`Intl.Locale.prototype.numberingSystem`

このロケールが使用している数値表記法を返します。

`Intl.Locale.prototype.numberingSystems`

ロケールの規則に従って利用できる数値表記法の識別子の `Array` を返します。

`Intl.Locale.prototype.numeric`

このロケールが数字に対して特殊な照合順序を持っているかどうかを返します。

`Intl.Locale.prototype.region`

このロケールに関連付けられた世界の地域 (通常は国) を返します。

`Intl.Locale.prototype.script`

このロケールで使われている特定の言語を書く際に使用する文字体系を返します。

`Intl.Locale.prototype.textInfo`

`ltr` （左書き）または `rtl` （右書き）で、文字の並び順を示す部分を返します。

`Intl.Locale.prototype.timeZones`

`Locale` に関連付けられたタイムゾーン識別子の `Array` を返します。

`Intl.Locale.prototype.weekInfo`

ロケールの規則に従い、 UTS 35 の週要素を返します。

インスタンスメソッド
----------

`Intl.Locale.prototype.maximize()`

既存の値に基づいて、ロケールの言語、文字体系、地域の最も可能性の高い値を取得します。

`Intl.Locale.prototype.minimize()`

`Locale.maximize()` を呼び出すことで追加されるロケールに関する情報を削除しようとします。

`Intl.Locale.prototype.toString()`

このロケールの完全なロケール識別子文字列を返します。

例
-

### 基本的な使用

`Intl.Locale` のコンストラクターは、もっとも簡単なものでは、ロケール識別子の文字列を引数に取ります。


```js
let us = new Intl.Locale("en-US");
```

### Locale コンストラクターの options オブジェクト付きでの使用

このコンストラクターは、オプションで構成オブジェクトの引数を取ることができます。たとえば、構成オブジェクトの `hourCycle` プロパティに任意の時間サイクル種別を設定し、それをコンストラクターに渡します。


```js
let us12hour = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(us12hour.hourCycle); // Prints "h12"
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # locale-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Intl`
* Intl.Locale のポリフィル
* Unicode ロケール識別子の仕様書
Intl.Collator
=============

**`Intl.Collator`** オブジェクトは、言語を考慮した文字列の比較を可能にします。

試してみましょう
--------

コンストラクター
--------

`Intl.Collator()`

新しい `Collator` オブジェクトを生成します。

静的メソッド
------

`Intl.Collator.supportedLocalesOf()`

指定したロケールのうち、ランタイムの既定のロケールに代替されることなく対応されているものを含む配列を返します。

インスタンスメソッド
----------

`Intl.Collator.prototype.compare`

この `Intl.Collator` オブジェクトのソート順に応じて 2 つの文字列を比較する関数を返します。

`Intl.Collator.prototype.resolvedOptions()`

ローケルを反映しているプロパティとオブジェクトの初期化中に計算された照合オプションをもった新しいオブジェクトを返します。

例
-

### Collator の使用

次の例では、一方の文字列が他方の文字列より前である場合、後である場合、および同じレベルである場合の比較結果を表示します。


```js
console.log(new Intl.Collator().compare("a", "c")); // → 負の値
console.log(new Intl.Collator().compare("c", "a")); // → 正の値
console.log(new Intl.Collator().compare("a", "a")); // → 0
```


上記コードの結果は、ブラウザーやブラウザーのバージョンによって異なる可能性がある点に注意してください。というのも前および後を表す数値については、それぞれ負の数および正の数であることだけが仕様によって定めています。具体的な数値は定められていないため、実装ごとに異なる数値になるかもしれません。

### locales の使用

`Intl/Collator/compare` の結果は言語によって異なります。アプリケーションのユーザーインターフェイスで使用される言語のソート順を取得するには、 `locales` 引数にその言語を（およびフォールバック用の言語も）指定してください。


```js
// in German, ä sorts with a
console.log(new Intl.Collator("de").compare("ä", "z"));
// → 負の値

// in Swedish, ä sorts after z
console.log(new Intl.Collator("sv").compare("ä", "z"));
// → 正の値
```

### options の使用

`Intl/Collator/compare` の結果は `options` 引数でカスタマイズできます。


```js
// in German, ä has a as the base letter
console.log(new Intl.Collator("de", { sensitivity: "base" }).compare("ä", "a"));
// → 0

// in Swedish, ä and a are separate base letters
console.log(new Intl.Collator("sv", { sensitivity: "base" }).compare("ä", "a"));
// → 正の値
```

仕様書
---

| Specification |
| --- |
| ECMAScript Internationalization API Specification # collator-objects |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Intl`