)
    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

  * Constructor 
  * Instance properties 
  * Instance methods 
  * Specifications 
  * Browser compatibility 
  * See also 

#  AsyncFunction

##  Baseline  Widely available

This feature is well established and works across many devices and browser
versions. Itâs been available across browsers since  April 2017  .

  * [ Learn more ](/en-US/blog/baseline-evolution-on-mdn/)
  * See full compatibility 
  * [ Report feedback ](https://survey.alchemer.com/s3/7634825/MDN-baseline-feedback?page=%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FAsyncFunction&level=high)

The **` AsyncFunction ` ** object provides methods for [ async functions
](/en-US/docs/Web/JavaScript/Reference/Statements/async_function) . In
JavaScript, every async function is actually an ` AsyncFunction ` object.

Note that ` AsyncFunction ` is _not_ a global object. It can be obtained with
the following code:

js

    
    
    const AsyncFunction = async function () {}.constructor;
    

` AsyncFunction ` is a subclass of [ ` Function ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Function) .

##  Constructor

[ ` AsyncFunction() ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/AsyncFunction/AsyncFunction)

    

Creates a new ` AsyncFunction ` object.

##  Instance properties

_Also inherits instance properties from its parent[ ` Function ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Function) _ .

These properties are defined on ` AsyncFunction.prototype ` and shared by all
` AsyncFunction ` instances.

[ ` AsyncFunction.prototype.constructor ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Objec