The Promise.prototype property represents the prototype for the Promise constructor.

Property attributes of Promise.prototype
Writable no
Enumerable no
Configurable no


Promise instances inherit from Promise.prototype. You can use the constructor's prototype object to add properties or methods to all Promise instances.


Returns the function that created an instance's prototype. This is the Promise function by default.


Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled.
Promise.prototype.then(onFulfilled, onRejected)
Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return value of the called handler, or to its original settled value if the promise was not handled (i.e. if the relevant handler onFulfilled or onRejected is not a function).


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Promise.prototype' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Promise.prototype' in that specification.
Living Standard  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic Support32.0 (Yes)29.0 No197.1
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support4.4.432.0 (Yes)29 No (Yes)8.0

See also

Document Tags and Contributors

 Contributors to this page: fscholz, tarungarg546, bitzstein, realityking
 Last updated by: fscholz,