Array.prototype
in JavaScript is an object that allows you to add properties and methods to all array instances. When you create an array in JavaScript, it automatically inherits properties and methods from Array.prototype
.
Key Points about Array.prototype
Inheritance: Every array you create in JavaScript inherits from
Array.prototype
. This means all methods and properties defined onArray.prototype
are available to any array instance.const arr = [1, 2, 3]; console.log(arr.length); // 3 console.log(arr.push(4)); // [1, 2, 3, 4]
Methods on
Array.prototype
: JavaScript provides a variety of built-in methods onArray.prototype
, such as.push()
,.pop()
,.map()
,.filter()
,.reduce()
, and many others.const numbers = [1, 2, 3, 4]; const doubled = numbers.map(num => num * 2); console.log(doubled); // [2, 4, 6, 8]
Adding Custom Methods: You can add your own methods to
Array.prototype
, which will then be available to all arrays.Array.prototype.first = function() { return this[0]; }; const arr = [1, 2, 3]; console.log(arr.first()); // 1
Note: While you can add methods to
Array.prototype
, it’s generally advised to do so with caution. Modifying built-in prototypes can lead to unexpected behavior, especially if different libraries or parts of the codebase modify the same prototypes.Prototype Chain:
Array.prototype
itself is an object, and its prototype isObject.prototype
. This means that array instances also inherit properties and methods fromObject.prototype
.const arr = [1, 2, 3]; console.log(arr.toString()); // "1,2,3" (from Object.prototype)
Custom Array-Like Objects: You can create objects that mimic arrays and inherit from
Array.prototype
if you want to use array methods on them.const arrayLike = { 0: 'a', 1: 'b', length: 2 }; arrayLike.__proto__ = Array.prototype; console.log(arrayLike.map(x => x.toUpperCase())); // ['A', 'B']
Common Methods on Array.prototype
.push()
,.pop()
,.shift()
,.unshift()
- for adding/removing elements..forEach()
,.map()
,.filter()
- for iterating or transforming arrays..reduce()
,.reduceRight()
- for accumulating values..slice()
,.splice()
,.concat()
- for extracting or combining arrays..indexOf()
,.includes()
- for searching within arrays.
Array.prototype
is a powerful feature in JavaScript that provides essential functionalities for working with arrays efficiently.
Use the share button below if you liked it.
It makes me smile, when I see it.