It's convoluted and/or impossible to shim some ES5 Object methods in legacy browsers, especially IE6-8. Most other ES5 features, like those in Array, String, Date, aren't as crazy to implement. ES5 shim libraries such as cujojs/poly (
https://github.com/cujojs/poly) or kriskowal/es5-shim (
https://github.com/kriskowal/es5-shim) do a decent job shimming some Object methods, but inevitably create unreliable edge cases (or even undesirable limitations in some cases). By filling out this form, you can help us figure out where to put the most resources and how to choose appropriate strategies for shimming legacy browsers.