JavaScript object created with a prototype maintains \"live\" connection to its prototype, so that changing the prototype also affects the objects created from it.
This dynamism is present in polyfill libraries that patch older browsers, e.g. by adding Array.prototype.map, or add upcoming new features from ES6, e.g. Array.prototype.find. See https://github.com/paulmillr/es6-shim/ for an example.