A polyfill for the basic functionality of Function.name
accessor property in its pre-ES6 form.
function hello() { /* ... */ } console.log(hello.name); // "hello"Named function expressions
var fn = function foo() { /* ... */ }; console.log(fn.name); // "foo"
Most modern browsers have already supported this basic functionality for quite some time but this polyfill will apply to at least the following:
>=9 <12
<33
For IE <9
, you can still use fn._name()
instead.
name
accessor property can provide you with the name of a named function definition (either a named function declaration or a named function expression).name
accessor property is also intentionally marked as configurable.<5
, the accessor property will be configurable (expected) AND enumerable (unexpected) due to having to implement it using Object.prototype.__defineGetter__
instead of Object.defineProperty
.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4