In order to migrate from our .static container to native properties on the function object. The most common one is name, like in OO.ui.Dialog.static.name.
Here is a complete list of reserved static property names (most of which we are not using, so that's good).
- Function (used to interact with class and constructor)
- fn.name (instance property, ES6)
- fn.arguments (useless, obsolete, but not assignable by default)
- fn.caller (useless, non-standard, but not assignable by default)
Safe (can be overridden as own properties, where needed methods can and should be called on foreign objects from the prototype)
- fn.arity (obsolete, undefined by default, safe to assign)
- fn.displayName (non-standard Firefox/Chrome, undefined by default, safe to assign)
- fn.toSource (non-standard Firefox, inherited, though safe to assign)
- fn.isGenerator (non-standard Firefox, inherited, though safe to assign)