# Interface IterableIterator<T, TReturn, TNext>

Describes a user-defined Iterator that is also iterable.

interface IterableIterator< T , TReturn = any, TNext = any> {
"[iterator]" (): IterableIterator < T , TReturn , TNext >;
next (...__namedParameters: [] | [ TNext ]): IteratorResult < T , TReturn >;
return (value?: TReturn ): IteratorResult < T , TReturn >;
throw (e?: any): IteratorResult < T , TReturn >;
}

#### Type Parameters

- T
- TReturn = any
- TNext = any

#### Hierarchy (View Summary)

- Iterator < T , TReturn , TNext >
  - IterableIterator

- Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:55

##### Index

### Methods

[iterator]
next
return?
throw?

## Methods

### [iterator]

- "[iterator]"(): IterableIterator < T , TReturn , TNext >

  #### Returns IterableIterator < T , TReturn , TNext >

  - Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:56

### next

- next(...__namedParameters: [] | [ TNext ]): IteratorResult < T , TReturn >

  #### Parameters

  - ...__namedParameters: [] | [ TNext ]

  #### Returns IteratorResult < T , TReturn >

  Inherited from Iterator.next

  - Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:43

### `Optional` return

- return(value?: TReturn ): IteratorResult < T , TReturn >

  #### Parameters

  - `Optional` value: TReturn

  #### Returns IteratorResult < T , TReturn >

  Inherited from Iterator.return

  - Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:44

### `Optional` throw

- throw(e?: any): IteratorResult < T , TReturn >

  #### Parameters

  - `Optional` e: any

  #### Returns IteratorResult < T , TReturn >

  Inherited from Iterator.throw

  - Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:45