me)
    6. [ ` Function: prototype ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype)
  8. Methods 
    1. [ ` Function.prototype[@@hasInstance]() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/@@hasInstance)
    2. [ ` Function.prototype.apply() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply)
    3. [ ` Function.prototype.bind() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind)
    4. [ ` Function.prototype.call() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call)
    5. [ ` Function.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString)
  9. [ ` Object ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
  10. Properties 
    1. [ ` Object.prototype.constructor ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor)
    2. [ ` Object.prototype.__proto__ ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto) Deprecated 
  11. Methods 
    1. [ ` Object.prototype.__defineGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__) Deprecated 
    2. [ ` Object.prototype.__defineSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__) Deprecated 
    3. [ ` Object.prototype.__lookupGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__) Deprecated 
    4. [ ` Object.prototype.__lookupSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__) Deprecated 
    5. [ ` Object.prototype.hasOwnProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
    6. [ ` Object.prototype.isPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf)
    7. [ ` Object.prototype.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    8. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    9. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    10. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)

##  In this article

  * Description 
  * Instance methods 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  AsyncIterator

An **` AsyncIterator ` ** object is an object that conforms to the [ async
iterator protocol ](/en-
US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols)
by providing a ` next() ` method that returns a promise fulfilling to an
iterator result object. The ` AsyncIterator.prototype ` object is a hidden
global object that all built-in async iterators inherit from. It provides an [
` @@asyncIterator ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/AsyncIterator/@@asyncIterator)
method that returns the async iterator object itself, making the async
iterator also [ async iterable ](/en-
US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols)
.

Note that ` AsyncIterator ` is _not_ a global object, although it will be in
the future with the [ async iterator helpers proposal
](https://github.com/tc39/proposal-async-iterator-helpers) . The `
AsyncIterator.prototype ` object shared by all built-in async iterators can be
obtained with the following code:

js

    
    
    const AsyncIteratorPrototype = Object.getPrototypeOf(
      Object.getPrototypeOf(Object.getPrototypeOf((async function* () {})())),
    );
    

##  Description

Currently, the only built-in JavaScript async iterator is the [ `
AsyncGenerator ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator) object
returned by [ async generator functions ](/en-
US/docs/Web/JavaScript/Reference/Statements/async_function*) .