ES5 polyfill
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


ES5 polyfill

Provides ECMAScript 5 compatibility on specific methods of native JavaScript objects. Some are full rewrites, like Object.create or Function.bind, others are workarounds for browser quirks, like argument handling in Array.sort, or negative indexes for String.substr.

Getters and setters are only partially emulated in browsers where no substitute is available (eg. IE8). Here the chosen behavior is that getters and setters are accepted by Object.defineProperty, but the getter is immediately evaluated and its result assigned to the property as value.

At this point Phil is not a complete polyfill, as it implements only those methods that are required by Troop-based libraries.