recursal/MDN huggingface dataset:
IDBDatabase: createObjectStore() メソッド
=====================================

**`createObjectStore()`** は `IDBDatabase` インターフェイスのメソッドで、新しいオブジェクトストアやインデックスを生成して返します。

このメソッドは、ストアの名前をとるだけでなく、重要なオプションプロパティを定義するためのオプションオブジェクトもとります。ストアの個々のオブジェクトを一意にするために、プロパティを使用できます。 プロパティが識別子ならば、それはすべてのオブジェクトで一意であり、すべてのオブジェクトはそのプロパティを持つべきです。

このメソッドは `versionchange` トランザクション内でのみ呼び出すことができます。

**注:** この機能は Web Worker 内で利用可能です

構文
--


```js
createObjectStore(name)
createObjectStore(name, options)
```

### 引数

`name`

作成するために新しいオブジェクトストアの名前です。なお、空の名前でオブジェクトストアを作成することも可能です。

`options` 省略可

属性がメソッドのオプション引数であるオプションオブジェクトです。以下のプロパティがあります。

`keyPath` 省略可

 新しいオブジェクトストアで使用するためのキーパス。空または指定しなかった場合、オブジェクトストアはキーパスなしで作成され、アウトオブラインキーを使用します。
 keyPath として配列を渡すこともできます。


`autoIncrement` 省略可

`true` の場合、オブジェクトストアはキージェネレーターがあります。
 既定値は `false` です。



### 返値

新しい `IDBObjectStore` です。

### 例外

このメソッドは `DOMException` を発生させる可能性があり、 `name` は以下の種類のいずれかになります。

`InvalidStateError` `DOMException`

このメソッドが `versionchange` トランザクションのコールバックとして呼び出されなかった場合に発生します。

`TransactionInactiveError` `DOMException`

存在しないソースデータベースに対してリクエストが行われた場合に発生します（例えば、データベースが削除された場合など）。バージョン 41 以前の Firefox では、この場合にも `InvalidStateError` が発生し、誤解を招く可能性がありました。これは修正されました（Firefox bug 1176165 を参照）。

`ConstraintError` `DOMException`

与えられた名前のオブジェクトストア (大文字と小文字を区別する比較に基づく) が接続中のデータベースに既に存在します。

`InvalidAccessError` `DOMException`

`autoIncrement` が `true` に設定されていて、`keyPath` が空文字か空文字を含む配列の場合。

例
-


```js
// データベースを開く
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

// このイベントハンドラーは､新しいバージョンのデータベースの作成が
// 必要なことを表すイベントを処理します｡これは､データベースが作成されて
// いないときや､上の行の新しいバージョン番号が
// window.indexedDB.open() に渡されたときです｡
// これは、最近のブラウザーでしか実装されていません。
request.onupgradeneeded = (event) => {
  const db = event.target.result;

  db.onerror = (event) => {
    note.innerHTML += "<li>データベースの読み込みに失敗しました。</li>";
  };

  // データベースにオブジェクトストアを作成します｡

  const objectStore = db.createObjectStore("toDoList", {
    keyPath: "taskTitle",
  });

  // オブジェクトストアにどのようなデータ項目が入るかを定義します｡

  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });

  objectStore.createIndex("notified", "notified", { unique: false });

  note.innerHTML += "<li>オブジェクトストアが作成されました。</li>";
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbdatabase-createobjectstore① |

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

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

関連項目
----

* IndexedDB の使用
* トランザクションの開始: `IDBDatabase`
* トランザクションの使用: `IDBTransaction`
* キーの範囲の設定: `IDBKeyRange`
* データの取得と変更: `IDBObjectStore`
* カーソルの使用: `IDBCursor`
* リファレンス例: To-do Notifications (動く例を見る)
IDBDatabase: deleteObjectStore() メソッド
=====================================

**`deleteObjectStore()`** は `IDBDatabase` インターフェイスのメソッドで、対象のオブジェクトストアを参照するすべてのインデックスとともに、接続しているデータベースにある指定の名前のオブジェクトストアを削除します。

`IDBDatabase.createObjectStore` と同様に、このメソッドは `versionchange` トランザクション内で *のみ* 呼び出すことができます。

**注:** この機能は Web Worker 内で利用可能です

構文
--


```js
deleteObjectStore(name)
```

### 引数

`name`

削除するオブジェクトストアの名前です。名前は大文字と小文字を区別します。

### 返値

なし (`undefined`)。

### 例外

`InvalidStateError` `DOMException`

このメソッドが `versionchange` トランザクションのコールバックとして呼び出されなかった場合に発生します。

`TransactionInactiveError` `DOMException`

存在しないソースデータベースに対してリクエストが行われた場合に発生します（例えば、データベースが削除された場合など）。

`NotFoundError` `DOMException`

存在しないオブジェクトストアを削除しようとしたとき投げられます。

例
-


```js
const dbName = "sampleDB";
const dbVersion = 2;
const request = indexedDB.open(dbName, dbVersion);

request.onupgradeneeded = (event) => {
  const db = request.result;
  if (event.oldVersion < 1) {
    db.createObjectStore("store1");
  }

  if (event.oldVersion < 2) {
    db.deleteObjectStore("store1");
    db.createObjectStore("store2");
  }

  // version < 3, 4... について同様に
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbdatabase-deleteobjectstore① |

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

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

関連情報
----

* IndexedDB の使用
* トランザクションの開始: `IDBDatabase`
* トランザクションの使用: `IDBTransaction`
* キーの範囲の設定: `IDBKeyRange`
* データの取得と変更: `IDBObjectStore`
* カーソルの使用: `IDBCursor`
* リファレンス例: To-do Notifications (動く例を見る)
IDBDatabase: close イベント
=======================

`close` イベントは、データベースの接続が予期せず閉じられた時 `IDBDatabase` で発火します。例えば、使用しているストレージが取り外されたり、ユーザーがブラウザーの履歴設定でデータベースを消去した場合に発生します。

データベースの接続が `IDBDatabase.close()` により正常に閉じられた場合は発火しないことに注意してください。

構文
--

`addEventListener()` のようなメソッドでイベント名を使うか、イベントハンドラープロパティを設定します。


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

イベント型
-----

汎用の `Event` です。

例
-

この例ではデータベースを開き、`close` イベントを監視します。


```js
// データベースを開きます
const dBOpenRequest = window.indexedDB.open("toDoList", 4);

dBOpenRequest.onupgradeneeded = (event) => {
  const db = event.target.result;

  // このデータベース用の objectStore を作成します
  const objectStore = db.createObjectStore("toDoList", {
    keyPath: "taskTitle",
  });

  // objectStore に保存するデータアイテムを定義します
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
};

dBOpenRequest.onsuccess = (event) => {
  const db = dBOpenRequest.result;
  db.addEventListener("close", () => {
    console.log("データベースへの接続が閉じられました");
  });
};
```


`addEventListener()` のかわりに `onclose` プロパティを使った同じ例です。


```js
// データベースを開きます
const dBOpenRequest = window.indexedDB.open("toDoList", 4);

dBOpenRequest.onupgradeneeded = (event) => {
  const db = event.target.result;

  // このデータベース用の objectStore を作成します
  const objectStore = db.createObjectStore("toDoList", {
    keyPath: "taskTitle",
  });

  // objectStore に保存するデータアイテムを定義します
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
};

dBOpenRequest.onsuccess = (event) => {
  const db = dBOpenRequest.result;
  db.onclose = () => {
    console.log("データベースへの接続が閉じられました");
  };
};
```

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

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

関連情報
----

* IndexedDB の使用
IDBDatabase: version プロパティ
==========================

**`version`** は `IDBDatabase` インターフェイスのプロパティで、接続しているデータベースのバージョンを含む 64 ビット整数 (en-US)です。データベースを初めて生成した時、この属性は空文字です。

**注:** この機能は Web Worker 内で利用可能です

### 値

接続しているデータベースのバージョンを含む整数値。

例
-


```js
// データベースを開く
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

// これら 2 個のイベントハンドラーは､データベースが正常に開かれたか､失敗した時に動作します｡
DBOpenRequest.onerror = (event) => {
  note.innerHTML += "<li>データベースの読み込みに失敗しました｡</li>";
};

DBOpenRequest.onsuccess = (event) => {
  note.innerHTML += "<li>データベースを初期化しました｡</li>";

  // データベースを開いた結果を変数 db に保存します｡これは後でたくさん使います｡
  db = DBOpenRequest.result;

  // この行では接続したデータベースのバージョンを記録します。"4" のはずです。
  console.log(db.version);
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbdatabase-version① |

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

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

関連情報
----

* IndexedDB の使用
* トランザクションの開始 : `IDBDatabase`
* トランザクションの使用 : `IDBTransaction`
* キーの範囲の設定 : `IDBKeyRange`
* データの取得と変更 : `IDBObjectStore`
* カーソルの使用 : `IDBCursor`
* リファレンス例 : To-do Notifications (動く例を見る)
IDBDatabase: close() メソッド
=========================

**`close()`** は `IDBDatabase` インターフェイスのメソッドで、ただちに戻り、別スレッドで接続を閉じます。

実際には、この接続を使用していて生成されたすべてのトランザクションが完了するまで、接続は閉じられません。一度このメソッドが呼び出されたら、この接続では、新しいトランザクションを生成することはできません。終了処理がペンディングされている場合は、トランザクションを生成するメソッドは、例外を発生させます。

**注:** この機能は Web Worker 内で利用可能です

構文
--


```js
close()
```

### 引数

なし。

### 返値

なし。

例
-


```js
// データベースを開く
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

// これら 2 個のイベントハンドラーは､データベースが正常に開かれたか､失敗した時に動作します｡
DBOpenRequest.onerror = (event) => {
  note.innerHTML += "<li>データベースの読み込みに失敗しました｡</li>";
};

DBOpenRequest.onsuccess = (event) => {
  note.innerHTML += "<li>データベースを初期化しました｡</li>";

  // データベースを開いた結果を変数 db に保存します｡
  db = DBOpenRequest.result;

  // さあ、データベースを再び閉じましょう！
  db.close();
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbdatabase-close② |

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

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

関連項目
----

* IndexedDB の使用
* トランザクションの開始 : `IDBDatabase`
* トランザクションの使用 : `IDBTransaction`
* キーの範囲の設定 : `IDBKeyRange`
* データの取得と変更 : `IDBObjectStore`
* カーソルの使用 : `IDBCursor`
* リファレンス例 : To-do Notifications (動く例を見る)
MediaDeviceInfo: deviceId プロパティ
===============================

**`deviceId`** は `MediaDeviceInfo` インターフェイスの読み取り専用プロパティで、対応する機器の識別子を表す文字列を返します。この識別子はセッション間で不変です。

この識別子は他のアプリケーションからは予測できず、呼び出し元のアプリケーションのオリジンで一意です。また、クッキーを消去すると再設定されます。プライベートブラウジングでは、異なる識別子が用いられ、セッション間で不変ではありません。

値
-

文字列です。

仕様書
---

| Specification |
| --- |
| Media Capture and Streams # dom-mediadeviceinfo-deviceid |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MediaDeviceInfo: label プロパティ
============================

`MediaDeviceInfo` インターフェイスの読み取り専用プロパティ **`label`** は、デバイスの説明の文字列 (例：`"External USB Webcam"`) を返します。

活動中の `MediaStream` の使用中か、永続的な許可を得られているときのみ参照できます。

値
-

メディアデバイスを説明する文字列です。セキュリティ上の理由で、1 個以上のメディアデバイスを使用する許可を得られていないときは、`label` は常に空文字列 (`""`) です。この許可は、マイクまたはカメラからのストリームを開始するか、永続的な許可を得ることで得られます。

仕様書
---

| Specification |
| --- |
| Media Capture and Streams # dom-mediadeviceinfo-label |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MediaDeviceInfo: toJSON() メソッド
==============================

`MediaDeviceInfo` インターフェイスの **`toJSON()`** メソッドは、シリアライザーです。このメソッドは、この `MediaDeviceInfo` オブジェクトの JSON 表現を返します。

構文
--


```js
toJSON()
```

### 引数

なし

### 返値

この `MediaDeviceInfo` オブジェクトをシリアライズした `JSON` オブジェクトを返します。

### 例


```js
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
  console.log("enumerateDevices() に未対応です。");
} else {
  // カメラとマイクを列挙する
  navigator.mediaDevices
    .enumerateDevices()
    .then((devices) => {
      devices.forEach((device) => {
        console.log(device.toJSON());
      });
    })
    .catch((err) => {
      console.log(`${err.name}: ${err.message}`);
    });
}
```


以下の結果になる可能性があります。


```bash
Object { deviceId: "HJtTemQTM64Bivxv3ZEyKjCi1VR8042lPNpmXKObKJE=", kind: "videoinput", label: "", groupId: "Okm2l1YZTrwy8awTxE8QSLNFoVMdIXx++wLh68tbmv0=" }
Object { deviceId: "EqDubLxPlPeW+5w/ereWTF/3EaAMVHh9QBBHkZHiP0k=", kind: "audioinput", label: "", groupId: "Okm2l1YZTrwy8awTxE8QSLNFoVMdIXx++wLh68tbmv0=" }
Object { deviceId: "CanWttL2RnHOiS7FzzYXMIvLqVFE5S06Lfy8H//nhEw=", kind: "audioinput", label: "", groupId: "nOdLNeXGIw9oL9f2wH69SssQpRVs7cmt9jqZrUWgQwI=" }
```

仕様書
---

| Specification |
| --- |
| Media Capture and Streams # dom-mediadeviceinfo-tojson |

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

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

関連情報
----

* `JSON`
MediaDeviceInfo: groupId プロパティ
==============================

**`groupId`** は `MediaDeviceInfo` インターフェイスの読み取り専用プロパティで、グループの識別子の文字列を返します。

2 つの機器が同じ物理機器に属しているならば、同じグループ識別子を持ちます。たとえば、モニターにカメラとマイクの両方が埋め込まれている場合があります。

値
-

この機器が属する関連機器のグループを一意に識別する文字列です。

仕様書
---

| Specification |
| --- |
| Media Capture and Streams # dom-mediadeviceinfo-groupid |

例
-

この例では、指定された機器と同じグループに属する機器のリストを作成します。これは、提示用に関連する機器をまとめたユーザーインターフェイスを作成したり、ユーザーが同じディスプレイに埋め込まれたカメラとマイクを同時に選択しやすくしたりするために利用できます。


```js
const getDeviceGroup = (mainDevInfo) => {
  let devList = [];

  navigator.mediaDevices.enumerateDevices().then((devices) => {
    devices.forEach((device) => {
      if (device.groupId === mainDevInfo.groupId) {
        devList.push(device);
      }
    });
  });

  return devList;
};
```


`getDeviceGroup()` 関数は、グループのリストを作成する対象の `MediaDeviceInfo` オブジェクトを入力にとります。この関数は、まずは結果の配列 `devList` を空の配列に初期化します。

そして、`navigator.mediaDevices.enumerateDevices()` を呼び出し、全メディア機器のリストを取得します。プロミスが解決したら、`forEach()` を用いてリストを走査します。それぞれの機器について、その `groupId` がメイン機器の `groupId` と一致するならば、この `MediaDeviceInfo` オブジェクトをリストに追加します。

最後に、同じグループの各機器を表す `MediaDeviceInfo` オブジェクトが入ったリストが呼び出し元に返されます。

これは、2 個のオブジェクトの `deviceId` の値を比較して一致しない場合のみ結果に機器を追加するようにすることで、渡された機器を返すリストから除いたり、リストの最初に配置したりするように簡単に変更できます。

例のこのバージョンでは、渡された機器を結果のリストの先頭に配置し、見つかったグループの他のメンバーをその後に追加します。


```js
const getDeviceGroup = (mainDevInfo) => {
  let devList = [mainDevInfo];

  navigator.mediaDevices.enumerateDevices().then((devices) => {
    devices.forEach((device) => {
      if (
        device.groupId === mainDevInfo.groupId &&
        device.deviceId !== mainDevInfo.deviceId
      ) {
        devList.push(device);
      }
    });
  });

  return devList;
};
```

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MediaDeviceInfo: kind プロパティ
===========================

`MediaDeviceInfo` インターフェイスの読み取り専用プロパティ **`kind`** は列挙値で、`"videoinput"`、`"audioinput"`、`"audiooutput"` のいずれかです。

値
-

文字列です。

仕様書
---

| Specification |
| --- |
| Media Capture and Streams # dom-mediadeviceinfo-kind |

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

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

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`variable`** は `CSSVariableReferenceValue` インターフェイスのプロパティで、カスタム名で返される組み込み CSS 値です。

構文
--
```

var fallback = CSSVariableReferenceValue.fallback;
```

### 値

`CSSUnparsedValue` です。

仕様書
---

| Specification |
| --- |
| CSS Typed OM Level 1 # dom-cssvariablereferencevalue-variable |

ブラウザーの対応
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
CSSVariableReferenceValue()
===========================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`CSSVariableReferenceValue`** は CSS Typed Object Model API のインターフェイスで、組み込み CSS 値のカスタム名を作成することができます。このオブジェクトは機能的に「CSS 変数」と呼ばれることがあり、 `var()` 関数と同じ用途を提供します。カスタム名は 2 本のダッシュで始める必要があります。

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

`CSSVariableReferenceValue.CSSVariableReferenceValue()`

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

プロパティ
-----

`CSSVariableReferenceValue.variable`

コンストラクターに渡されたカスタム名を返します。

`CSSVariableReferenceValue.fallback` 読取専用 

カスタム名の組み込み CSS 値を返します。

メソッド
----

なし。

仕様書
---

| Specification |
| --- |
| CSS Typed OM Level 1 # dom-cssvariablereferencevalue-cssvariablereferencevalue |

ブラウザーの対応
--------

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

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`fallback`** は `CSSVariableReferenceValue` インターフェイスの読み取り専用プロパティで、組み込み CSS 値のカスタム名を返します。

構文
--
```

var variable = CSSVariableReferenceValue.variable;
```

### 値

`CSSUnparsedValue` です。

仕様書
---

| Specification |
| --- |
| CSS Typed OM Level 1 # dom-cssvariablereferencevalue-fallback |

ブラウザーの対応
--------

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

**`TimeRanges.length`** 読み取り専用プロパティは、オブジェクト内の範囲の数を返します。

構文
--
```

length = TimeRanges.length;
```

例
-

ID が "myVideo" の動画要素がある場合、


```js
var v = document.GetElementById("myVideo");

var buf = v.buffered;

var numRanges = buf.length;

if (buf.length == 1) {
  // 1つの範囲のみ
  if (buf.start(0) == 0 && buf.end(0) == v.duration) {
    // 1つの範囲が動画の最初から始まり、
    // 動画の最後で終わるため、すべてが読み込まれています
  }
}
```


この例では、時間範囲を見て、動画全体が読み込まれたかどうかを確認します。

仕様
--

| Specification |
| --- |
| HTML Standard # dom-timeranges-length-dev |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
TimeRanges.start()
==================

**`start()`** は `TimeRanges` インターフェイスのメソッドで、指定した時間範囲が開始する時刻オフセットを返します。

構文
--


```js
start(index);
```

### 引数

`index`

開始時刻を返却する範囲番号です。

### 返値

数値です。

### 例外

`IndexSizeError` `DOMException`

指定されたインデックスが既存の範囲に対応していない場合に発生します。

例
-

ID が "myVideo" の動画要素がある場合、


```js
const v = document.getElementById("myVideo");

const buf = v.buffered;

const numRanges = buf.length;

if (buf.length === 1) {
  // 1 つの範囲のみ
  if (buf.start(0) === 0 && buf.end(0) === v.duration) {
    // 1 つの範囲が動画の最初から始まり、
    // 動画の最後で終わるため、すべてが読み込まれています
  }
}
```


この例では、時間範囲を調べ、動画全体が読み込まれたかどうかを調べます。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-timeranges-start-dev |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
TimeRanges.end()
================

指定された時間範囲が終わる時間オフセットを返します。

構文
--
```

endTime = TimeRanges.end(index)
```

### パラメーター

* `index` は、終了時間を返す範囲の番号です。
### 例外

INDEX\_SIZE\_ERR

指定されたインデックスが既存の範囲に対応しない場合にスローされる `DOMException`。

例
-

ID が "myVideo" の動画要素がある場合、


```js
var v = document.getElementById("myVideo");

var buf = v.buffered;

var numRanges = buf.length;

if (buf.length == 1) {
  // 1つの範囲のみ
  if (buf.start(0) == 0 && buf.end(0) == v.duration) {
    // 1つの範囲が動画の最初から始まり、
    // 動画の最後で終わるため、すべてが読み込まれています
  }
}
```


この例では、時間範囲を見て、動画全体が読み込まれたかどうかを確認します。

仕様
--

| Specification |
| --- |
| HTML Standard # dom-timeranges-end-dev |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
GeolocationPosition: timestamp プロパティ
====================================

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

**`GeolocationPosition.timestamp`** は読み取り専用のプロパティで、端末が位置を測定した日時を表します。

### 値

ミリ秒単位のUnix 時刻で与えられるタイムスタンプが入った数値です。

仕様書
---

| Specification |
| --- |
| Geolocation API # timestamp-attribute |

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

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

関連情報
----

* 位置情報 API の使用
* `GeolocationPosition`
GeolocationPosition: coords プロパティ
=================================

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

**`GeolocationPosition.coords`** は読み取り専用のプロパティで、地理的な位置を表す `GeolocationCoordinates` オブジェクトを返します。このオブジェクトには、地球上の位置（経度、緯度）、高度、速度が含まれ、グループ化して返されます。また、これらの値に関する精度情報も含まれます。

### 値

`GeolocationCoordinates` のオブジェクトインスタンスです。

仕様書
---

| Specification |
| --- |
| Geolocation API # coords-attribute |

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

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

関連情報
----

* 位置情報 API の使用
* `GeolocationPosition`
Gyroscope: y プロパティ
==================

`Gyroscope` インターフェイスの読み取り専用プロパティ **`y`** は、デバイスの y 軸方向の角速度を表す数値を返します。

値
-

`Number` です。

例
-

ジャイロスコープは、通常 `reading` イベントコールバックで読み取られます。以下の例では、これを 1 秒に 60 回行います。


```js
let gyroscope = new Gyroscope({ frequency: 60 });

gyroscope.addEventListener("reading", (e) => {
  console.log(`X 軸方向の角速度 ${gyroscope.x}`);
  console.log(`Y 軸方向の角速度 ${gyroscope.y}`);
  console.log(`Z 軸方向の角速度 ${gyroscope.z}`);
});
gyroscope.start();
```

仕様書
---

| Specification |
| --- |
| Gyroscope # gyroscope-y |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Gyroscope: Gyroscope() コンストラクター
===============================

**`Gyroscope()`** コンストラクターは、デバイスの 3 軸それぞれの角速度の計測値を提供する新しい `Gyroscope` オブジェクトを生成します。

構文
--


```js
new Gyroscope()
new Gyroscope(options)
```

### 引数

`options` 省略可

以下のオプションがあります。

`frequency`

1 秒あたり取得するべきサンプルの数であり、1 秒あたり何回 `reading` イベントが呼ばれるかになります。整数または小数を使用でき、小数は 1 秒に 1 回未満の頻度に用います。実際の取得の頻度はデバイスハードウェアに依存し、指定より少なくなる可能性があります。

`referenceFrame`

`'device'` または `'screen'` です。デフォルトは `'device'` です。


### 例外

`SecurityError` `DOMException`

この機能の使用が Permissions Policy によりブロックされたとき投げられます。

仕様書
---

| Specification |
| --- |
| Gyroscope # dom-gyroscope-gyroscope |

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

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

関連情報
----

* `reading` イベント
Gyroscope: x プロパティ
==================

`Gyroscope` インターフェイスの読み取り専用プロパティ **`x`** は、デバイスの x 軸方向の角速度を表す数値を返します。

値
-

`Number` です。

例
-

ジャイロスコープは、通常 `reading` イベントコールバックで読み取られます。以下の例では、これを 1 秒に 60 回行います。


```js
let gyroscope = new Gyroscope({ frequency: 60 });

gyroscope.addEventListener("reading", (e) => {
  console.log(`X 軸方向の角速度 ${gyroscope.x}`);
  console.log(`Y 軸方向の角速度 ${gyroscope.y}`);
  console.log(`Z 軸方向の角速度 ${gyroscope.z}`);
});
gyroscope.start();
```

仕様書
---

| Specification |
| --- |
| Gyroscope # gyroscope-x |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Gyroscope: z プロパティ
==================

`Gyroscope` インターフェイスの読み取り専用プロパティ **`z`** は、デバイスの z 軸方向の角速度を表す数値を返します。

値
-

`Number` です。

例
-

ジャイロスコープは、通常 `reading` イベントコールバックで読み取られます。以下の例では、これを 1 秒に 60 回行います。


```js
let gyroscope = new Gyroscope({ frequency: 60 });

gyroscope.addEventListener("reading", (e) => {
  console.log(`X 軸方向の角速度 ${gyroscope.x}`);
  console.log(`Y 軸方向の角速度 ${gyroscope.y}`);
  console.log(`Z 軸方向の角速度 ${gyroscope.z}`);
});
gyroscope.start();
```

仕様書
---

| Specification |
| --- |
| Gyroscope # gyroscope-z |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
console.timeEnd()
=================

**`console.timeEnd()`** は、以前 `console.time()` の呼び出しで開始したタイマーを停止します。

詳細や使用例については、ドキュメントのタイマーを参照して下さい。

**注:** この機能は Web Worker 内で利用可能です

構文
--


```js
timeEnd(label);
```

### 引数

`label`

停止するタイマーの名前です。停止させると、経過時間が自動的にウェブコンソールに停止した時刻を示すインジケーターと共に表示されます。

### 返値

なし (`undefined`)。

例
-


```js
console.time("answer time");
alert("Click to continue");
console.timeLog("answer time");
alert("Do a bunch of other stuff…");
console.timeEnd("answer time");
```


上記の例の出力結果は、ユーザーが最初のアラートボックスを解除するのにかかった時間と、その後に 2 番目のアラートを解除するのにかかった時間を示します。

![](/ja/docs/Web/API/console/timeend_static/timer_output.png)

タイマーの名前は `timeLog()` を使ってタイマーの値を記録するときに表示され、停止するときに再び表示されることに注意してください。さらに、 timeEnd() の呼び出しは、タイマーが時間を追跡しなくなったことを明確にするために、 "timer ended" という追加の情報を持っています。

仕様書
---

| Specification |
| --- |
| Console Standard # timeend |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
console.assert()
================

**`console.assert()`** は、検査結果が false になった場合に、コンソールへエラーメッセージを出力します。検査結果が true になる場合は何も行いません。

**注:** この機能は Web Worker 内で利用可能です

構文
--


```js
assert(assertion, obj1);
assert(assertion, obj1, obj2);
assert(assertion, obj1, obj2, /\* … ,\*/ objN);

assert(assertion, msg);
assert(assertion, msg, subst1);
assert(assertion, msg, subst1, /\* … ,\*/ substN);
```

### 引数

`assertion`

任意の論理式です。結果が false になると、コンソールにメッセージを出力します。

`obj1` … `objN`

出力する JavaScript オブジェクトのリスト。各オブジェクトを文字列で表現したものを、リストの並び順に追記して出力します。

`msg`

0 個以上の置換文字列を含む JavaScript 文字列。

`subst1` … `substN`

`msg` 内の置換文字列を置き換える JavaScript オブジェクト。この引数で、出力形式を高度に制御できます。

### 返値

なし (`undefined`)。

例
-

次のコード例は、アサーションに続く JavaScript オブジェクトの使用を示しています。


```js
const errorMsg = "the # is not even";
for (let number = 2; number <= 5; number++) {
  console.log(`the # is ${number}`);
  console.assert(number % 2 === 0, { number, errorMsg });
}
// output:
// the # is 2
// the # is 3
// Assertion failed: {number: 3, errorMsg: "the # is not even"}
// the # is 4
// the # is 5
// Assertion failed: {number: 5, errorMsg: "the # is not even"}
```


詳しくは `console` のドキュメントで、コンソールへのテキストの出力をご覧ください。

仕様書
---

| Specification |
| --- |
| Console Standard # assert |

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

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