---
hide_title: false
hide_table_of_contents: false
pagination_next: null
pagination_prev: null
---

# ReadableStreamBYOBReader()

The **`ReadableStreamBYOBReader()`** constructor creates and returns a `ReadableStreamBYOBReader` object instance.

> **Note:** You generally wouldn't use this constructor manually;
> instead, you'd use the `ReadableStream.getReader()` method with the argument `"byob"`.

## Syntax

```js
new ReadableStreamBYOBReader(stream)
```

### Parameters

- `stream`
  - : The `ReadableStream` to be read.

### Return value

An instance of the `ReadableStreamBYOBReader` object.

### Exceptions

- `TypeError`
  - : Thrown if the supplied `stream` parameter is not a `ReadableStream`, or it is already locked for reading by another reader, or its stream controller is not a `ReadableByteStreamController`.
