Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

es-shims/Array.prototype.unshift

Open more actions menu

Repository files navigation

array.prototype.unshift Version Badge

github actions coverage License Downloads

npm badge

An ES spec-compliant Array.prototype.unshift 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 Array.prototype.unshift depends on a receiver (the “this” value), the main export takes the array to operate on as the first argument.

Engines where this is needed

Note: this list is not exhaustive.

  • Safari 10 - 13
  • Chrome 48+ (v8 bug)
  • node 6+

Example

var unshift = require('array.prototype.unshift');
var assert = require('assert');

var a = [1, 1, 1];
assert.deepEqual(unshift(a, 1, 2), 5);
assert.deepEqual(a, [1, 2, 1, 1, 1]);
var unshift = require('array.prototype.unshift');
var assert = require('assert');
/* when Array#unshift is not present */
delete Array.prototype.unshift;
var shimmed = unshift.shim();
assert.equal(shimmed, unshift.getPolyfill());
assert.equal(shimmed, Array.prototype.unshift);
assert.deepEqual([1, 2, 3].unshift(1, 2, 3), unshift([1, 2, 3], 1, 2, 3));
var unshift = require('array.prototype.unshift');
var assert = require('assert');
/* when Array#unshift is present */
var shimmed = unshift.shim();
assert.equal(shimmed, Array.prototype.unshift);
assert.deepEqual([1, 2, 3].unshift(1, 2, 3), unshift([1, 2, 3], 1, 2, 3));

Tests

Simply clone the repo, npm install, and run npm test

About

ES spec-compliant Array.prototype.unshift shim/polyfill/replacement that works as far down as ES3

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.