recursal/MDN huggingface dataset:
SpeechSynthesisUtterance: SpeechSynthesisUtterance() コンストラクター
=============================================================

`SpeechSynthesisUtterance()` は `SpeechSynthesisUtterance` インターフェイスのコンストラクターで、新しい `SpeechSynthesisUtterance` オブジェクトのインスタンスを返します。

構文
--


```js
new SpeechSynthesisUtterance(text)
```

### 引数

`text`

発話時に合成されるテキストを格納した文字列です。

例
-

以下のスニペットは Speech synthesizer demo から抜粋したものです。


```js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// ...

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (let i = 0; i < voices.length; i++) {
    if (voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }
  synth.speak(utterThis);
  inputTxt.blur();
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisutterance-speechsynthesisutterance |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: mark イベント
===================================

**`mark`** はウェブ音声 API の `SpeechSynthesisUtterance` オブジェクトのイベントで、発話が SSML の名前付き "mark" タグに達したときに発生します。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("mark", (event) => {});

onmark = (event) => {};
```

イベント型
-----

`SpeechSynthesisEvent` です。 `Event` を継承しています。

Event

SpeechSynthesisEventイベントプロパティ
---------

*以下に挙げたプロパティに加え、親インターフェイスである `Event` のプロパティが利用可能です。*

`charIndex` 読取専用 

イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

`elapsedTime` 読取専用 

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）を返します。

`name` 読取専用 

`SpeechSynthesisUtterance.text` が発話される際に発生する特定の種類のイベントに関連する名前を返します。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

`utterance` 読取専用 

イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

例
-

`mark` イベントを `addEventListener` メソッドで使用することができます。


```js
utterThis.addEventListener("mark", (event) => {
  console.log(`A mark was reached: ${event.name}`);
});
```


または `onmark` イベントハンドラープロパティで使用することができます。


```js
utterThis.onmark = (event) => {
  console.log(`A mark was reached: ${event.name}`);
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # eventdef-speechsynthesisutterance-mark |
| Web Speech API # dom-speechsynthesisutterance-onmark |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: rate プロパティ
====================================

**`rate`** は `SpeechSynthesisUtterance` インターフェイスのプロパティで、発話をする速度を取得および設定します。

未設定の場合、既定値の 1 が使用されます。

値
-

 浮動小数点数でレート値を表します。
 範囲は 0.1 （最低値）から 10 （最高値）で、既定値では 1 が現在のプラットフォームや音声のレートとなり、通常の会話速度に相当します。
 他の値はこの値に対する相対的なパーセント値として動作するため、例えば 2 は 2 倍の速さ、0.5 は半分の速さなどです。

 音声合成エンジンや音声によっては、最小レートや最大レートがさらに制約される場合があります。
 SSML を使用している場合、この値はマークアップの韻律タグによって上書きされます。

例
-

### 再生レートの調整

この例では、スライダーを使って再生速度を調整し、「再生」ボタンで発話を再生します。

#### HTML


```html
<p id="text">暗く嵐の夜でした。</p>

<div id="rate-control">
  <label for="rate">Rate:</label>
  <input type="range" min="0.5" max="2" value="1" step="0.1" id="rate" />
</div>

<button id="play">再生</button>
```


#### CSS


```css
body {
  font-family: sans-serif;
}

#rate-control {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0;
}
```


#### JavaScript


```js
const synth = window.speechSynthesis;

const text = document.querySelector("#text");
const play = document.querySelector("#play");
const rate = document.querySelector("#rate");

function speak() {
  if (synth.speaking) {
    synth.cancel();
  }
  const utterThis = new SpeechSynthesisUtterance(text.textContent);
  utterThis.addEventListener("error", () => {
    console.error("SpeechSynthesisUtterance error");
  });
  utterThis.rate = rate.value;
  synth.speak(utterThis);
}

play.addEventListener("click", speak);
```


#### 出力

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisutterance-rate |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: boundary イベント
=======================================

**`boundary`** は ウェブ音声 API のイベントで、発話が胡屋分の境界に達したときに発生します。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("boundary", (event) => {});

onboundary = (event) => {};
```

イベント型
-----

`SpeechSynthesisEvent` です。 `Event` を継承しています。

Event

SpeechSynthesisEventイベントプロパティ
---------

*以下に挙げたプロパティに加え、親インターフェイスである `Event` のプロパティが利用可能です。*

`charIndex` 読取専用 

イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

`elapsedTime` 読取専用 

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）を返します。

`name` 読取専用 

`SpeechSynthesisUtterance.text` が発話される際に発生する特定の種類のイベントに関連する名前を返します。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

`utterance` 読取専用 

イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

例
-

`boundary` イベントを `addEventListener` メソッドで使用することができます。


```js
utterThis.addEventListener("boundary", (event) => {
  console.log(
    `${event.name} boundary reached after ${event.elapsedTime} seconds.`,
  );
});
```


または `onboundary` イベントハンドラープロパティで使用することができます。


```js
utterThis.onboundary = (event) => {
  console.log(
    `${event.name} boundary reached after ${event.elapsedTime} seconds.`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # eventdef-speechsynthesisutterance-boundary |
| Web Speech API # dom-speechsynthesisutterance-onboundary |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: start イベント
====================================

**`start`** は ウェブ音声 API の `SpeechSynthesisUtterance` オブジェクトのイベントで、発話が始まったときに発行されます。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("start", (event) => {});

onstart = (event) => {};
```

イベント型
-----

`SpeechSynthesisEvent` です。 `Event` を継承しています。

Event

SpeechSynthesisEventイベントプロパティ
---------

*以下に挙げたプロパティに加え、親インターフェイスである `Event` のプロパティが利用可能です。*

`charIndex` 読取専用 

イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

`elapsedTime` 読取専用 

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）を返します。

`name` 読取専用 

`SpeechSynthesisUtterance.text` が発話される際に発生する特定の種類のイベントに関連する名前を返します。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

`utterance` 読取専用 

イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

例
-

`start` イベントを `addEventListener` メソッドで使用することができます。


```js
utterThis.addEventListener("start", (event) => {
  console.log(`We have started uttering this speech: ${event.utterance.text}`);
});
```


または `onstart` イベントハンドラープロパティで使用することができます。


```js
utterThis.onstart = (event) => {
  console.log(`We have started uttering this speech: ${event.utterance.text}`);
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # eventdef-speechsynthesisutterance-start |
| Web Speech API # dom-speechsynthesisutterance-onstart |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: end イベント
==================================

**`end`** は ウェブ音声 API の `SpeechSynthesisUtterance` オブジェクトのイベントで、発生が終了したときに発生します。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("end", (event) => {});

onend = (event) => {};
```

イベント型
-----

`SpeechSynthesisEvent` です。 `Event` を継承しています。

Event

SpeechSynthesisEventイベントプロパティ
---------

*以下に挙げたプロパティに加え、親インターフェイスである `Event` のプロパティが利用可能です。*

`charIndex` 読取専用 

イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

`elapsedTime` 読取専用 

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）を返します。

`name` 読取専用 

`SpeechSynthesisUtterance.text` が発話される際に発生する特定の種類のイベントに関連する名前を返します。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

`utterance` 読取専用 

イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

例
-

`end` イベントを `addEventListener` メソッドで使用することができます。


```js
utterThis.addEventListener("end", (event) => {
  console.log(
    `Utterance has finished being spoken after ${event.elapsedTime} seconds.`,
  );
});
```


または `onend` イベントハンドラープロパティで使用することができます。


```js
utterThis.onend = (event) => {
  console.log(
    `Utterance has finished being spoken after ${event.elapsedTime} seconds.`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # eventdef-speechsynthesisutterance-end |
| Web Speech API # dom-speechsynthesisutterance-onend |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: pause イベント
====================================

**`pause`** はウェブ音声 API の `SpeechSynthesisUtterance` オブジェクトのイベントで、 is fired when the utterance is paused part way through.

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("pause", (event) => {});

onpause = (event) => {};
```

イベント型
-----

`SpeechSynthesisEvent` です。 `Event` を継承しています。

Event

SpeechSynthesisEventイベントプロパティ
---------

*以下に挙げたプロパティに加え、親インターフェイスである `Event` のプロパティが利用可能です。*

`charIndex` 読取専用 

イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

`elapsedTime` 読取専用 

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）を返します。

`name` 読取専用 

`SpeechSynthesisUtterance.text` が発話される際に発生する特定の種類のイベントに関連する名前を返します。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

`utterance` 読取専用 

イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

例
-

`pause` イベントを `addEventListener` メソッドで使用することができます。


```js
utterThis.addEventListener("pause", (event) => {
  console.log(`Speech paused after ${event.elapsedTime} seconds.`);
});
```


または `onpause` イベントハンドラープロパティで使用することができます。


```js
utterThis.onpause = (event) => {
  console.log(`Speech paused after ${event.elapsedTime} seconds.`);
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # eventdef-speechsynthesisutterance-pause |
| Web Speech API # dom-speechsynthesisutterance-onpause |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: voice プロパティ
=====================================

**`voice`** は `SpeechSynthesisUtterance` インターフェイスのプロパティで、発話に使用する音声を取得および設定します。

 これは `SpeechSynthesis.getVoices()` (en-US) が返す `SpeechSynthesisVoice` (en-US) オブジェクトのいずれかに設定する必要があります。
 発話時点までに設定されていない場合、使用する音声は発話の `lang` 設定で利用できる最も適した既定値になります。

値
-

`SpeechSynthesisVoice` (en-US) オブジェクトです。

例
-


```js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// ...

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (let i = 0; i < voices.length; i++) {
    if (voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }
  synth.speak(utterThis);
  inputTxt.blur();
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisutterance-voice |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: resume イベント
=====================================

**`resume`** はウェブ音声 API の `SpeechSynthesisUtterance` オブジェクトのイベントで、一時停止していた発話が再開されたときに発生します。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("resume", (event) => {});

onresume = (event) => {};
```

イベント型
-----

`SpeechSynthesisEvent` です。 `Event` を継承しています。

Event

SpeechSynthesisEventイベントプロパティ
---------

*以下に挙げたプロパティに加え、親インターフェイスである `Event` のプロパティが利用可能です。*

`charIndex` 読取専用 

イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

`elapsedTime` 読取専用 

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）を返します。

`name` 読取専用 

`SpeechSynthesisUtterance.text` が発話される際に発生する特定の種類のイベントに関連する名前を返します。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

`utterance` 読取専用 

イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

例
-

`resume` イベントを `addEventListener` メソッドで使用することができます。


```js
utterThis.addEventListener("resume", (event) => {
  console.log(`Speech resumed after ${event.elapsedTime} seconds.`);
});
```


または `onresume` イベントハンドラープロパティで使用することができます。


```js
utterThis.onresume = (event) => {
  console.log(`Speech resumed after ${event.elapsedTime} seconds.`);
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # eventdef-speechsynthesisutterance-resume |
| Web Speech API # dom-speechsynthesisutterance-onresume |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: pitch プロパティ
=====================================

**`pitch`** は `SpeechSynthesisUtterance` インターフェイスのプロパティで、発話が行われるピッチ（音程）を取得および設定します。

未設定の場合、既定値の 1 が使用されます。

値
-

 浮動小数点数で音程値を表します。
 0 （最低）から 2 （最高）の範囲で指定でき、1 が現在のプラットフォームまたは音声の既定値です。音声合成エンジンや音声によっては、最小レートと最大レートがさらに制約される場合があります。
 SSML を使用している場合、この値はマークアップ内の韻律タグによって上書きされます。

例
-


```js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// ...

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (let i = 0; i < voices.length; i++) {
    if (voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }
  utterThis.pitch = 1.5;
  synth.speak(utterThis);
  inputTxt.blur();
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisutterance-pitch |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: error イベント
====================================

**`error`** はウェブ音声 API の `SpeechSynthesisUtterance` オブジェクトのイベントで、エラーが発生して正常に発話ができなかったときには発生します。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("error", (event) => {});

onerror = (event) => {};
```

イベント型
-----

`SpeechSynthesisErrorEvent` です。 `SpeechSynthesisEvent` および `Event` を継承しています。

Event

SpeechSynthesisEvent

SpeechSynthesisErrorEventイベントプロパティ
---------

*以下に挙げたプロパティに加え、親インターフェイスである `Event` のプロパティが利用可能です。*

`charIndex` 読取専用 

イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

`elapsedTime` 読取専用 

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）を返します。

`error` 読取専用 

音声合成に失敗した原因を示すエラーコードを返します。

`name` 読取専用 

`SpeechSynthesisUtterance.text` が発話される際に発生する特定の種類のイベントに関連する名前を返します。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

`utterance` 読取専用 

イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

例
-

`error` イベントを `addEventListener` メソッドで使用することができます。


```js
utterThis.addEventListener("error", (event) => {
  console.log(
    `An error has occurred with the speech synthesis: ${event.error}`,
  );
});
```


または `onerror` イベントハンドラープロパティで使用することができます。


```js
utterThis.onerror = (event) => {
  console.log(
    `An error has occurred with the speech synthesis: ${event.error}`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # eventdef-speechsynthesisutterance-error |
| Web Speech API # dom-speechsynthesisutterance-onerror |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisUtterance: text プロパティ
====================================

**`text`** は `SpeechSynthesisUtterance` インターフェイスのプロパティで、発話時に合成されるテキストを取得および設定します。

 テキストはプレーンテキストか、整形された SSML 文書として提供されます。
 SSML タグは SSML に対応していない端末では取り除かれます。

値
-

 合成するテキストを表す文字列です。
 各発話で発話できるテキストの最大長は 32,767 文字です。

例
-


```js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// ...

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (let i = 0; i < voices.length; i++) {
    if (voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }
  console.log(utterThis.text);
  synth.speak(utterThis);
  inputTxt.blur();
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisutterance-text |

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

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

関連情報
----

* ウェブ音声 API
Geolocation: clearWatch() メソッド
==============================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`Geolocation.clearWatch()`** メソッドは、以前 `Geolocation.watchPosition()` によって登録された位置情報/エラーの監視ハンドラーを解除するために使用します。

構文
--


```js
clearWatch(id)
```

### 引数

`id`

解除したいハンドラーの登録時に `Geolocation.watchPosition()` メソッドから返された ID 番号です。

### 返値

なし (`undefined`)。

例
-


```js
let id;
let target;
let options;

function success(pos) {
  const crd = pos.coords;

  if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
    console.log("Congratulations, you've reached the target!");
    navigator.geolocation.clearWatch(id);
  }
}

function error(err) {
  console.error(`ERROR(${err.code}): ${err.message}`);
}

target = {
  latitude: 0,
  longitude: 0,
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0,
};

id = navigator.geolocation.watchPosition(success, error, options);
```

仕様書
---

| Specification |
| --- |
| Geolocation API # clearwatch-method |

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

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

関連情報
----

* 位置情報の使用
* `Geolocation`
* `Geolocation.watchPosition()`
* `Geolocation.getCurrentPosition()`
Geolocation: watchPosition() メソッド
=================================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`Geolocation` の **`watchPosition()`** メソッドは、端末の位置が変化するたびに自動的に呼び出されるハンドラー関数を登録するために用いられます。また必要に応じてエラー処理コールバック関数を指定することができます。

構文
--


```js
watchPosition(success)
watchPosition(success, error)
watchPosition(success, error, options)
```

### 引数

`success`

コールバック関数で、 `GeolocationPosition` オブジェクトを入力引数として受け取るものです。

`error` 省略可

任意のコールバック関数で、 `GeolocationPositionError` オブジェクトを入力引数として受け取るものです。

`options` 省略可

 任意のオブジェクトで、位置を監視する構成オプションを提供します。
 利用可能なオプションについての詳細は `Geolocation.getCurrentPosition()` を参照してください。


### 返値

登録されたハンドラーを識別する ID を返します。この ID を `Geolocation.clearWatch()` メソッドに渡してハンドラーの登録を解除することができます。

例
-


```js
let id;
let target;
let options;

function success(pos) {
  const crd = pos.coords;

  if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
    console.log("Congratulations, you reached the target");
    navigator.geolocation.clearWatch(id);
  }
}

function error(err) {
  console.error(`ERROR(${err.code}): ${err.message}`);
}

target = {
  latitude: 0,
  longitude: 0,
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0,
};

id = navigator.geolocation.watchPosition(success, error, options);
```

仕様書
---

| Specification |
| --- |
| Geolocation API # watchposition-method |

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

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

関連情報
----

* 位置情報 API の使用
* 所属するインターフェイス `Geolocation` と、アクセス方法である `Navigator.geolocation`。
* 反対の操作: `Geolocation.clearWatch()`
* 類似のメソッド: `Geolocation.getCurrentPosition()`
Geolocation: getCurrentPosition() メソッド
======================================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`Geolocation.getCurrentPosition()`** メソッドは、端末の現在位置を取得するために使われます。

構文
--


```js
getCurrentPosition(success)
getCurrentPosition(success, error)
getCurrentPosition(success, error, options)
```

### 引数

`success`

コールバック関数で、 `GeolocationPosition` オブジェクトを唯一の入力引数として受け取ります。

`error` 省略可

オプションのコールバック関数で、 `GeolocationPositionError` オブジェクトを唯一の入力引数として受け取ります。

`options` 省略可

オプションのオブジェクトで、以下の引数を含みます。

`maximumAge`

正の `long` 値で、キャッシュされた位置を返すことが可能な最大時間をミリ秒単位で表します。 `0` に設定した場合、端末はキャッシュされた位置を使用できず、実際の現在位置を取得する必要があることを意味します。 `Infinity` に設定した場合、端末はキャッシュされた位置をその古さに関係なく返さなければなりません。既定値は 0 です。

`timeout`

正の `long` 値で、端末が位置を返すために掛けることができる最大時間をミリ秒単位で表します。既定値は `Infinity` で、 `getCurrentPosition()` は位置を取得できるまで返さないという意味です。

`enableHighAccuracy`

論理値で、アプリケーションが可能な限り正確な結果を受け取ることを望んでいることを示します。もし `true` で、端末がより正確な位置を提供できる場合は、そのようにします。この場合、応答時間が遅くなったり、消費電力が増加したりすることに注意してください（たとえば、モバイル端末の GPS チップを使用する場合など）。一方、 `false` の場合、端末はより速く反応したり、より少ない電力を使用することで、リソースを節約することができます。既定値は `false` です。


### 返値

なし (`undefined`)。

例
-


```js
const options = {
  enableHighAccuracy: true,
  timeout: 5000,
  maximumAge: 0,
};

function success(pos) {
  const crd = pos.coords;

  console.log("Your current position is:");
  console.log(`Latitude : ${crd.latitude}`);
  console.log(`Longitude: ${crd.longitude}`);
  console.log(`More or less ${crd.accuracy} meters.`);
}

function error(err) {
  console.warn(`ERROR(${err.code}): ${err.message}`);
}

navigator.geolocation.getCurrentPosition(success, error, options);
```

仕様書
---

| Specification |
| --- |
| Geolocation API # getcurrentposition-method |

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

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

関連情報
----

* 位置情報 API の使用
* `Navigator.geolocation`
WheelEvent: WheelEvent() コンストラクター
=================================

**`WheelEvent()`** コンストラクターは新しい `WheelEvent` オブジェクトを返します。

**メモ:** このコンストラクターを使用して合成イベントを作成した場合、セキュリティ上の理由から、そのイベントは信頼されません。
 ブラウザーが生成した `WheelEvent` オブジェクトだけが信頼され、信頼されたイベントだけが既定で発生します。


構文
--


```js
new WheelEvent(type)
new WheelEvent(type, options)
```

### 引数

`type`

 イベント名の文字列です。
 大文字と小文字は区別され、ブラウザーは常に `wheel` に設定します。


`options` 省略可

*`MouseEvent()` で定義するプロパティに加え*、以下のプロパティを持つことができるオブジェクトです。

`deltaX` 省略可

 浮動小数点数で、水平スクロール量を `deltaMode` の単位で表します。
 既定値は `0.0` です。


`deltaY` 省略可

 浮動小数点数で、垂直スクロール量を `deltaMode` の単位で表します。
 既定値は `0.0` です。


`deltaZ` 省略可

 浮動小数点数で、 Z 軸のスクロール量を `deltaMode` の単位で表します。
 既定値は `0.0` です。


`deltaMode` 省略可

デルタ値のスクロール量の単位を表す整数です。既定値は `0x00` です。指定できる値は以下の通りです。

| 定数 | 値 | 説明 |
| --- | --- | --- |
| `DOM_DELTA_PIXEL` | `0x00` | デルタ値はピクセル数で指定されます。 |
| `DOM_DELTA_LINE` | `0x01` | デルタ値は行数で指定されます。 |
| `DOM_DELTA_PAGE` | `0x02` | デルタ値はページ数で指定されます。 |


### 返値

新しい `WheelEvent` オブジェクトです。

仕様書
---

| Specification |
| --- |
| UI Events # dom-wheelevent-wheelevent |

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

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

関連情報
----

* 所属先の `WheelEvent` インターフェイスです。
WheelEvent: deltaZ プロパティ
========================

**`WheelEvent.deltaZ`** は読み取り専用のプロパティで、 `WheelEvent.deltaMode` 単位での Z 軸のスクロール量を表す `double` です。

値
-

数値です。

例
-


```js
const syntheticEvent = new WheelEvent("syntheticWheel", {
  deltaZ: 4,
  deltaMode: 0,
});

console.log(syntheticEvent.deltaZ);
```

仕様書
---

| Specification |
| --- |
| UI Events # dom-wheelevent-deltaz |

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

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

関連情報
----

* `wheel`
* `WheelEvent`