Object.prototype(原型链顶部)
console.log(ItShare.__proto__);
console.log(ItShare.__proto__.__proto__);
console.log(ItShare.__proto__.__proto__.__proto__);
- 那么数组的原型链是什么呢?
const arr = [1, 2, 5, 4, 55, 66, 54];
console.log(arr.__proto__);
数组的原型链中包含了很多关于数组操作的方法,这就是为什么我们可以用这些方法去直接操作数组;但是请记住,数组并不是包含了这些方法,而是数组从它的原型中继承了这些属性,这是两码事;在往上寻找原型就又回到了对象原型
所以我们可以通过原型来给数组添加新的方法,例如将数组中重复项目去除
const arr = [1, 2, 55, 54, 55, 66, 54];
Array.prototype.unique = function () {
return [...new Set(this)];
};
console.log(arr.unique());
总结:JavaScript中的内置对象都是通过原型继承来共享属性和方法的。例如,所有的对象都继承自 Object.prototype,而数组继承自 Array.prototype,字符串继承自 String.prototype 等等。