npm.io
1.0.6 • Published 8 years ago

function.name-polyfill

Licence
MIT
Version
1.0.6
Deps
0
Size
7 kB
Vulns
0
Weekly
0
Stars
52

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);  // "hello"
Named function expressions
var fn = function foo() {
  /* ... */
};
console.log(fn.name);  // "foo"

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:

  • IE >=9 <12
  • Chrome <33

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

Keywords