recursal/MDN huggingface dataset:
FileReader.readAsBinaryString()
===============================

`readAsBinaryString` メソッドは、 指定された `Blob` または `File` オブジェクトを読み込むために使用します。 読込処理が終了すると `readyState` は `DONE` に変わり、`loadend` イベントが生じます。それと同時に `result` プロパティには生のバイナリーデータを文字列で解釈したものが格納されます。

 このメソッドは、ファイル API の仕様から一度削除されましたが、後方互換のために再導入されました。
 `FileReader.readAsArrayBuffer()` の使用が推奨されています。

構文
--


```js
readAsBinaryString(blob)
```

### 引数

`blob`

メソッドで読み込む `Blob` または `File` オブジェクトです。

### 返値

なし (`undefined`)。

例
-


```js
const canvas = document.createElement("canvas");
const height = 200;
const width = 200;

canvas.width = width;
canvas.height = height;

const ctx = canvas.getContext("2d");

ctx.strokeStyle = "#090";
ctx.beginPath();
ctx.arc(width / 2, height / 2, width / 2 - width / 10, 0, Math.PI \* 2);
ctx.stroke();

canvas.toBlob((blob) => {
  const reader = new FileReader();

  reader.onload = () => {
    console.log(reader.result);
  };

  reader.readAsBinaryString(blob);
});
```

仕様書
---

| Specification |
| --- |
| File API # readAsBinaryString |

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

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

関連情報
----

* `FileReader`
FileReader: loadstart イベント
==========================

`loadstart` イベントは、ファイル読み込み操作が始まったときに発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

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


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

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

イベント型
-----

`ProgressEvent` です。 `Event` から継承しています。

Event

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

*親である `Event` からプロパティを継承しています。*

`ProgressEvent.lengthComputable` 読取専用 

論理値で、このプロセスで行われる作業の合計と、すでに行われた作業の量が計算可能かどうかを示す。言い換えれば、進捗が計測可能かどうかを示します。

`ProgressEvent.loaded` 読取専用 

64 ビット符号なし整数値で、このプロセスで既に作業を行った量を示します。作業した比率は、`total` をこのプロパティの値で割ることで算出できます。 HTTP を使用してリソースをダウンロードする場合、これは HTTP メッセージの本文のみをカウントし、ヘッダーやその他のオーバーヘッドは含まれません。

`ProgressEvent.total` 読取専用 

64 ビット符号なし整数で、基礎となるプロセスが実行中の作業の総量を表します。 HTTP を使用してリソースをダウンロードする場合、これは `Content-Length` （メッセージの本文のサイズ）であり、ヘッダーやその他のオーバーヘッドは含まれません。

例
-

### ライブデモ

#### HTML


```html
<div class="example">
  <div class="file-select">
    <label for="avatar">プロフィール画像を選択してください:</label>
    <input
 type="file"
 id="avatar"
 name="avatar"
 accept="image/png, image/jpeg" />
  </div>

  <img src="" class="preview" height="200" alt="Image preview" />

  <div class="event-log">
    <label for="eventLog">イベントログ:</label>
    <textarea readonly class="event-log-contents" id="eventLog"></textarea>
  </div>
</div>
```


```
img.preview {
  margin: 1rem 0;
}

.event-log-contents {
  width: 18rem;
  height: 5rem;
  border: 1px solid black;
  margin: 0.2rem;
  padding: 0.2rem;
  resize: none;
}

.example {
  display: grid;
  grid-template-areas:
    "select log"
    "preview log";
}

.file-select {
  grid-area: select;
}

.preview {
  grid-area: preview;
}

.event-log {
  grid-area: log;
}

.event-log > label {
  display: block;
}
```


#### JavaScript


```js
const fileInput = document.querySelector('input[type="file"]');
const preview = document.querySelector("img.preview");
const eventLog = document.querySelector(".event-log-contents");
const reader = new FileReader();

function handleEvent(event) {
  eventLog.textContent += `${event.type}: ${event.loaded} bytes transferred\n`;

  if (event.type === "load") {
    preview.src = reader.result;
  }
}

function addListeners(reader) {
  reader.addEventListener("loadstart", handleEvent);
  reader.addEventListener("load", handleEvent);
  reader.addEventListener("loadend", handleEvent);
  reader.addEventListener("progress", handleEvent);
  reader.addEventListener("error", handleEvent);
  reader.addEventListener("abort", handleEvent);
}

function handleSelected(e) {
  eventLog.textContent = "";
  const selectedFile = fileInput.files[0];
  if (selectedFile) {
    addListeners(reader);
    reader.readAsDataURL(selectedFile);
  }
}

fileInput.addEventListener("change", handleSelected);
```


#### 結果

仕様書
---

| Specification |
| --- |
| File API # dfn-loadstart-event |
| File API # dfn-onloadstart |

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

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

関連情報
----

* 関連イベント: `FileReader.load_event`, `FileReader.loadend_event`, `FileReader.progress_event`, `FileReader.error_event`, `FileReader.abort_event`
FileReader.error
================

`FileReader` の **`error`** プロパティは、ファイルの読み取り中に発生したエラーを返します。

値
-

`DOMError` に関連するエラーが含まれています。 Chrome 48 以降/Firefox 58 以降では、 `DOMError` が DOM 標準から削除されているため、このプロパティは `DOMException` を返します。

仕様書
---

| Specification |
| --- |
| File API # dom-filereader-error |

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

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

関連情報
----

* `FileReader`
FileReader.abort()
==================

**`abort`** メソッドは、読み取り操作を中止します。戻る時に、 `readyState` が `DONE` になります。

構文
--


```js
abort()
```

### 引数

なし。

### 返値

なし (`undefined`)。

仕様書
---

| Specification |
| --- |
| File API # abort |

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

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

関連情報
----

* `FileReader`
FileReader: error イベント
======================

`error` イベントは、エラーによって読み取りが失敗したとき (例えば、ファイルが見つからなかった場合や読み取り可能ではなかった場合) に発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

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


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

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

イベント型
-----

`ProgressEvent` です。 `Event` から継承しています。

Event

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

*親である `Event` からプロパティを継承しています。*

`ProgressEvent.lengthComputable` 読取専用 

論理値で、このプロセスで行われる作業の合計と、すでに行われた作業の量が計算可能かどうかを示す。言い換えれば、進捗が計測可能かどうかを示します。

`ProgressEvent.loaded` 読取専用 

64 ビット符号なし整数値で、このプロセスで既に作業を行った量を示します。作業した比率は、`total` をこのプロパティの値で割ることで算出できます。 HTTP を使用してリソースをダウンロードする場合、これは HTTP メッセージの本文のみをカウントし、ヘッダーやその他のオーバーヘッドは含まれません。

`ProgressEvent.total` 読取専用 

64 ビット符号なし整数で、基礎となるプロセスが実行中の作業の総量を表します。 HTTP を使用してリソースをダウンロードする場合、これは `Content-Length` （メッセージの本文のサイズ）であり、ヘッダーやその他のオーバーヘッドは含まれません。

例
-


```js
const fileInput = document.querySelector('input[type="file"]');
const reader = new FileReader();

function handleSelected(e) {
  const selectedFile = fileInput.files[0];
  if (selectedFile) {
    reader.addEventListener("error", () => {
      console.error(`Error occurred reading file: ${selectedFile.name}`);
    });

    reader.addEventListener("load", () => {
      console.error(`File: ${selectedFile.name} read successfully`);
    });

    reader.readAsDataURL(selectedFile);
  }
}

fileInput.addEventListener("change", handleSelected);
```

仕様書
---

| Specification |
| --- |
| File API # dfn-error-event |
| File API # dfn-onerror |

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

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

関連情報
----

* 関連イベント: `loadstart`, `loadend`, `progress`, `load`, `abort`
FileReader.readyState
=====================

`FileReader` の **`readyState`** プロパティは、 `FileReader` がいる読み取り操作の現在の状態を提供します。 `FileReader` は以下のいずれかの状態にあります。

| 値 | 状態 | 説明 |
| --- | --- | --- |
| `0` | `EMPTY` | Reader が作成されました。まだ読み込まれているメソッドはありません。 |
| `1` | `LOADING` | read メソッドが呼び出されました。 |
| `2` | `DONE` | 操作が完了しています。 |

`EMPTY`

`FileReader` は作成されましたが、 readAs メソッドはまだ呼び出されていません。

`LOADING`

readAs メソッドが呼び出されました。 `File` または `Blob` が読み取り中であり、まだエラーは発生していません。

`DONE`

読み取り操作が完了しています。これは、 `File` または `Blob` の全体がメモリに読み込まれたか、ファイル読み取りエラーが発生したか、 `abort()` が呼び出され、読み取りがキャンセルされたか、いずれかを意味します。

例
-


```js
const reader = new FileReader();
console.log("EMPTY", reader.readyState); // readyState は 0 になります。

reader.readAsText(blob);
console.log("LOADING", reader.readyState); // readyState は 1 になります。

reader.onloadend = () => {
  console.log("DONE", reader.readyState); // readyState は 2 になります。
};
```

値
-

`FileReader` API のために定義されている、状態を表す 3 つの定数のうちの 1 つです。

仕様書
---

| Specification |
| --- |
| File API # dom-filereader-readystate |

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

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

関連情報
----

* `Blob`
FileReader: progress イベント
=========================

`progress` イベントは、 `FileReader` がデータを読むときに定期的に発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

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


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

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

イベント型
-----

`ProgressEvent` です。 `Event` から継承しています。

Event

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

*親である `Event` からプロパティを継承しています。*

`ProgressEvent.lengthComputable` 読取専用 

論理値で、このプロセスで行われる作業の合計と、すでに行われた作業の量が計算可能かどうかを示す。言い換えれば、進捗が計測可能かどうかを示します。

`ProgressEvent.loaded` 読取専用 

64 ビット符号なし整数値で、このプロセスで既に作業を行った量を示します。作業した比率は、`total` をこのプロパティの値で割ることで算出できます。 HTTP を使用してリソースをダウンロードする場合、これは HTTP メッセージの本文のみをカウントし、ヘッダーやその他のオーバーヘッドは含まれません。

`ProgressEvent.total` 読取専用 

64 ビット符号なし整数で、基礎となるプロセスが実行中の作業の総量を表します。 HTTP を使用してリソースをダウンロードする場合、これは `Content-Length` （メッセージの本文のサイズ）であり、ヘッダーやその他のオーバーヘッドは含まれません。

例
-

### ライブデモ

#### HTML


```html
<div class="example">
  <div class="file-select">
    <label for="avatar">プロフィール画像を選択してください:</label>
    <input
 type="file"
 id="avatar"
 name="avatar"
 accept="image/png, image/jpeg" />
  </div>

  <img src="" class="preview" height="200" alt="Image preview" />

  <div class="event-log">
    <label for="eventLog">イベントログ:</label>
    <textarea readonly class="event-log-contents" id="eventLog"></textarea>
  </div>
</div>
```


```
img.preview {
  margin: 1rem 0;
}

.event-log-contents {
  width: 18rem;
  height: 5rem;
  border: 1px solid black;
  margin: 0.2rem;
  padding: 0.2rem;
  resize: none;
}

.example {
  display: grid;
  grid-template-areas:
    "select log"
    "preview log";
}

.file-select {
  grid-area: select;
}

.preview {
  grid-area: preview;
}

.event-log {
  grid-area: log;
}

.event-log > label {
  display: block;
}
```


#### JavaScript


```js
const fileInput = document.querySelector('input[type="file"]');
const preview = document.querySelector("img.preview");
const eventLog = document.querySelector(".event-log-contents");
const reader = new FileReader();

function handleEvent(event) {
  eventLog.textContent += `${event.type}: ${event.loaded} bytes transferred\n`;

  if (event.type === "load") {
    preview.src = reader.result;
  }
}

function addListeners(reader) {
  reader.addEventListener("loadstart", handleEvent);
  reader.addEventListener("load", handleEvent);
  reader.addEventListener("loadend", handleEvent);
  reader.addEventListener("progress", handleEvent);
  reader.addEventListener("error", handleEvent);
  reader.addEventListener("abort", handleEvent);
}

function handleSelected(e) {
  eventLog.textContent = "";
  const selectedFile = fileInput.files[0];
  if (selectedFile) {
    addListeners(reader);
    reader.readAsDataURL(selectedFile);
  }
}

fileInput.addEventListener("change", handleSelected);
```


#### 結果

仕様書
---

| Specification |
| --- |
| File API # dfn-progress-event |
| File API # dfn-onprogress |

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

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

関連情報
----

* 関連イベント: `loadstart`, `loadend`, `load`, `error`, `abort`
FileReader.readAsDataURL()
==========================

`readAsDataURL` メソッドは、指定された`Blob` または `File` の内容を読み込むために使用されます。読み込み操作が終了すると、`readyState` が `DONE` となり、`loadend` が発生します。このとき、`result` 属性には、ファイルのデータを表す、base64 エンコーディングされた data: URL の文字列が格納されます。

**メモ:** blob の `result` は、先に Base64 でエンコードされたデータの前にある Data-URL の宣言を削除しておかないと、直接 Base64 としてデコードすることができません。 Base64 でエンコードされた文字列のみを受け取る場合は、先に結果から `data:*/*;base64,` を削除しておく必要があります。

構文
--


```js
readAsDataURL(blob)
```

### 引数

`blob`

メソッドで読み込む `Blob` または `File` オブジェクトです。

### 返値

なし (`undefined`)。

例
-

### HTML


```html
<input type="file" onchange="previewFile()" /><br />
<img src="" height="200" alt="画像のプレビュー" />
```

### JavaScript


```js
function previewFile() {
  const preview = document.querySelector("img");
  const file = document.querySelector("input[type=file]").files[0];
  const reader = new FileReader();

  reader.addEventListener(
    "load",
    () => {
      // 画像ファイルを base64 文字列に変換します
      preview.src = reader.result;
    },
    false,
  );

  if (file) {
    reader.readAsDataURL(file);
  }
}
```

### ライブ結果

複数ファイルを読み取る例
------------

### HTML


```html
<input id="browse" type="file" onchange="previewFiles()" multiple />
<div id="preview"></div>
```

### JavaScript


```js
function previewFiles() {
  const preview = document.querySelector("#preview");
  const files = document.querySelector("input[type=file]").files;

  function readAndPreview(file) {
    // `file.name` が拡張子の基準と一致していることを確認します。
    if (/\.(jpe?g|png|gif)$/i.test(file.name)) {
      const reader = new FileReader();

      reader.addEventListener(
        "load",
        () => {
          const image = new Image();
          image.height = 100;
          image.title = file.name;
          image.src = this.result;
          preview.appendChild(image);
        },
        false,
      );

      reader.readAsDataURL(file);
    }
  }

  if (files) {
    Array.prototype.forEach.call(files, readAndPreview);
  }
}
```


**メモ:** Internet Explorer 10 以前では `FileReader()` コンストラクターに対応していません。十分な互換性が必要とされるときは、画像プレビューのクロスブラウザー対応ソリューションまたはもっと強力な例を参照してください。

仕様書
---

| Specification |
| --- |
| File API # readAsDataURL |

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

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

関連情報
----

* `FileReader`
* `URL.createObjectURL()`
FileReader.result
=================

`FileReader` の **`result`** プロパティは、ファイルの内容を返します。このプロパティは、読み取り操作が完了した後でのみ有効で、データの形式は、読み取り操作を開始するために使用されたメソッドによって異なります。

### 値

読み取り操作を開始するためにどの読み取りメソッドが使用されたかに基づく、適切な文字列または `ArrayBuffer` です。読み取りがまだ完了していないか、失敗した場合は、値は `null` になります。

結果の型は以下の通りです。

| メソッド | 説明 |
| --- | --- |
| `readAsArrayBuffer()` | `result` はバイナリーデータを含む JavaScript の `ArrayBuffer` になります。 |
| `readAsBinaryString()` | `result` にはファイルから生のバイナリーデータが文字列で格納されます。 |
| `readAsDataURL()` | `result` はファイルのデータを表す `data:` URL の文字列になります。 |
| `readAsText()` | `result` は文字列のテキストです。 |

例
-

この例は、ファイル入力欄からファイルを読み込む関数 `read()` を示しています。これは `FileReader` オブジェクトを作成し、 `load` イベントのリスナーを作成し、ファイルが読み込まれるとその `result` を取得し、提供されたコールバック関数を `read()` に渡すことによって機能します。

内容は生のテキストデータとして扱われます。


```js
const fileInput = document.querySelector('input[type="file"]');

function read(callback) {
  const file = fileInput.files.item(0);
  const reader = new FileReader();

  reader.onload = () => {
    callback(reader.result);
  };

  reader.readAsText(file);
}
```

仕様書
---

| Specification |
| --- |
| File API # dom-filereader-result |

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

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

関連情報
----

* `FileReader`
FileReader: loadend イベント
========================

`loadend` イベントは、ファイル読み込みが、成功したかどうかにかかわらず完了したときに発生します。

このイベントはキャンセル不可で、バブリングしません。

構文
--

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


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

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

イベント型
-----

`ProgressEvent` です。 `Event` から継承しています。

Event

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

*親である `Event` からプロパティを継承しています。*

`ProgressEvent.lengthComputable` 読取専用 

論理値で、このプロセスで行われる作業の合計と、すでに行われた作業の量が計算可能かどうかを示す。言い換えれば、進捗が計測可能かどうかを示します。

`ProgressEvent.loaded` 読取専用 

64 ビット符号なし整数値で、このプロセスで既に作業を行った量を示します。作業した比率は、`total` をこのプロパティの値で割ることで算出できます。 HTTP を使用してリソースをダウンロードする場合、これは HTTP メッセージの本文のみをカウントし、ヘッダーやその他のオーバーヘッドは含まれません。

`ProgressEvent.total` 読取専用 

64 ビット符号なし整数で、基礎となるプロセスが実行中の作業の総量を表します。 HTTP を使用してリソースをダウンロードする場合、これは `Content-Length` （メッセージの本文のサイズ）であり、ヘッダーやその他のオーバーヘッドは含まれません。

例
-

### ライブデモ

#### HTML


```html
<div class="example">
  <div class="file-select">
    <label for="avatar">プロフィール画像を選択してください::</label>
    <input
 type="file"
 id="avatar"
 name="avatar"
 accept="image/png, image/jpeg" />
  </div>

  <img src="" class="preview" height="200" alt="Image preview" />

  <div class="event-log">
    <label for="eventLog">イベントログ:</label>
    <textarea readonly class="event-log-contents" id="eventLog"></textarea>
  </div>
</div>
```


```
img.preview {
  margin: 1rem 0;
}

.event-log-contents {
  width: 18rem;
  height: 5rem;
  border: 1px solid black;
  margin: 0.2rem;
  padding: 0.2rem;
  resize: none;
}

.example {
  display: grid;
  grid-template-areas:
    "select log"
    "preview log";
}

.file-select {
  grid-area: select;
}

.preview {
  grid-area: preview;
}

.event-log {
  grid-area: log;
}

.event-log > label {
  display: block;
}
```


#### JavaScript


```js
const fileInput = document.querySelector('input[type="file"]');
const preview = document.querySelector("img.preview");
const eventLog = document.querySelector(".event-log-contents");
const reader = new FileReader();

function handleEvent(event) {
  eventLog.textContent += `${event.type}: ${event.loaded} bytes transferred\n`;

  if (event.type === "load") {
    preview.src = reader.result;
  }
}

function addListeners(reader) {
  reader.addEventListener("loadstart", handleEvent);
  reader.addEventListener("load", handleEvent);
  reader.addEventListener("loadend", handleEvent);
  reader.addEventListener("progress", handleEvent);
  reader.addEventListener("error", handleEvent);
  reader.addEventListener("abort", handleEvent);
}

function handleSelected(e) {
  eventLog.textContent = "";
  const selectedFile = fileInput.files[0];
  if (selectedFile) {
    addListeners(reader);
    reader.readAsDataURL(selectedFile);
  }
}

fileInput.addEventListener("change", handleSelected);
```


#### 結果

仕様書
---

| Specification |
| --- |
| File API # dfn-loadend-event |
| File API # dfn-onloadend |

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

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

関連情報
----

* 関連イベント: `loadstart`, `load`, `progress`, `error`, `abort`
FileReader.readAsArrayBuffer()
==============================

`FileReader` インターフェイスの **`readAsArrayBuffer()`** メソッドは、指定された `Blob` ないし `File` オブジェクトの内容を読み込むために使用します。読み込み処理が終了すると `readyState` が `DONE` に変わり、 `loadend` イベントが発行されます。それと同時に、 `result` プロパティにはファイルのデータを表す `ArrayBuffer` が格納されます。

**メモ:** `Blob.arrayBuffer()` メソッドは、ファイルを ArrayBuffer として読み取るためのプロミスベースのより新しい API です。

構文
--


```js
readAsArrayBuffer(blob)
```

### 引数

`blob`

メソッドで読み込む `Blob` または `File` オブジェクトです。

### 返値

なし (`undefined`)。

仕様書
---

| Specification |
| --- |
| File API # readAsArrayBuffer |

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

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

関連情報
----

* `FileReader`
BluetoothRemoteGATTCharacteristic: service プロパティ
================================================

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

読み取り専用プロパティ **`BluetoothRemoteGATTCharacteristic.service`** は、このキャラクタリスティックが属する `BluetoothRemoteGATTService` を返します。

値
-

`BluetoothRemoteGATTService` のインスタンスです。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-service |

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

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

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

**`BluetoothRemoteGATTCharacteristic.writeValueWithoutResponse()`** メソッドは、`BluetoothRemoteGATTCharacteristic` オブジェクトの `value` プロパティを渡された `ArrayBuffer` に格納されたバイト列に設定し、`WriteCharacteristicValue`(*this*=`this`, *value=value*, *response*=`"never"`) を呼び出し、結果の `Promise` を返します。

構文
--


```js
writeValueWithoutResponse(value)
```

### 引数

`value`

`ArrayBuffer` です。

### 返値

`Promise` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-writevaluewithoutresponse |

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

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

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

**`BluetoothRemoteGATTCharacteristic.writeValueWithResponse()`** メソッドは、`BluetoothRemoteGATTCharacteristic` オブジェクトの `value` プロパティを渡された `ArrayBuffer` に格納されたバイト列に設定し、`WriteCharacteristicValue`(*this*=`this`, *value=value*, *response*=`"required"`) を呼び出し、結果の `Promise` を返します。

構文
--


```js
writeValueWithResponse(value)
```

### 引数

`value`

`ArrayBuffer` です。

### 返値

`Promise` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-writevaluewithresponse |

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

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

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

読み取り専用プロパティ **`BluetoothRemoteGATTCharacteristic.uuid`** は、このキャラクタリスティックの UUID を表す文字列を返します。たとえば、Heart Rate Measurement characteristic は `'00002a37-0000-1000-8000-00805f9b34fb'` です。

値
-

文字列です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-uuid |

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

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

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

**`BluetoothRemoteGATTCharacteristic.getDescriptors()`** メソッドは、指定のディスクリプター UUID に対応するすべての `BluetoothRemoteGATTDescriptor` オブジェクトの `Array` で解決する `Promise` を返します。

構文
--


```js
getDescriptors(bluetoothDescriptorUUID)
```

### 引数

なし

### 返値

`BluetoothRemoteGATTDescriptor` オブジェクトの `Array` で解決する `Promise` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-getdescriptors |

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

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

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

**`BluetoothRemoteGATTCharacteristic.startNotifications()`** メソッドは、それに関する活動中のノーティフィケーションが存在するようになったら `BluetoothRemoteGATTCharacteristic` のインスタンスで解決する `Promise` を返します。

構文
--


```js
startNotifications()
```

### 引数

なし

### 返値

`BluetoothRemoteGATTCharacteristic` のインスタンスで解決する `Promise` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-startnotifications |

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

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

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

**`BluetoothRemoteGATTCharacteristic.readValue()`** メソッドは、利用可能で対応していれば、`value` プロパティの複製が格納された `DataView` で解決する `Promise` を返します。そうでない場合は、エラーを投げます。

構文
--


```js
readValue()
```

### 引数

なし

### 返値

`DataView` で解決する `Promise` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-readvalue |

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

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

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

かわりに `BluetoothRemoteGATTCharacteristic.writeValueWithResponse()` や `BluetoothRemoteGATTCharacteristic.writeValueWithoutResponse()` を使用してください。

**`BluetoothRemoteGATTCharacteristic.writeValue()`** メソッドは、`BluetoothRemoteGATTCharacteristic` オブジェクトの `value` プロパティを渡された `ArrayBuffer` に格納されたバイト列に設定し、`WriteCharacteristicValue`(*this*=`this`, *value=value*, *response*=`"optional"`) を呼び出し、結果の `Promise` を返します。

構文
--


```js
writeValue(value)
```

### 引数

`value`

`ArrayBuffer` です。

### 返値

`Promise` です。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # dom-bluetoothremotegattcharacteristic-writevalue |

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

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