An ESnext spec-compliant String.prototype.endsWith
shim/polyfill/replacement that works as far down as ES3.
This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec.
Because String.prototype.endsWith
depends on a receiver (the this
value), the main export takes the string to operate on as the first argument.
Other polyfills for String.prototype.endsWith
are available:
-
https://github.com/paulmillr/es6-shim/blob/d8c4ec246a15e7df55da60b7f9b745af84ca9021/es6-shim.js#L175-L184 by Paul Miller (
fails some tests: 1, 2passes all tests) -
https://github.com/google/traceur-compiler/blob/315bdad05d41de46d25337422d66686d63100d7a/src/runtime/polyfills/String.js#L39-L66 by Google (
fails a lot of testsnow uses this polyfill and passes all tests)
Via npm:
npm install string.prototype.endswith
Then, in Node.js:
var endsWith = require('string.prototype.endswith');
<script src="https://bundle.run/string.prototype.endswith"></script>
NOTE: It's recommended that you install this module using a package manager such as
npm
, because loading multiple polyfills from a CDN (such asbundle.run
) will lead to duplicated code.
Polyfills + test suites for String.prototype.startsWith
and String.prototype.contains
are available, too.
Mathias Bynens |
This polyfill is available under the MIT license.
Simply clone the repo, npm install
, and run npm test