Function.name
Overview
A polyfill for the basic functionality of Function.name accessor property in its pre-ES6 form.
Usage
Named function declarations
function hello() {
}
console.log(hello.name);
Named function expressions
var fn = function foo() {
};
console.log(fn.name);
Browser Compatibility
Most modern browsers have already supported this basic functionality for quite some time but this polyfill will apply to at least the following:
For IE <9, you can still use fn._name() instead.
Caveats
Pre-ES6 Form
- In short, this means that this polyfilled
name accessor property can provide you with the name of a named function definition (either a named function declaration or a named function expression).
- Unlike other browsers with a similar support level for the pre-ES6 form, this poyfilled
name accessor property is also intentionally marked as configurable.
Chrome <5
Other Documentation