JavaScript 中原型对象中数组方法怎么理解
原型链上的数组方法是 array.prototype 对象的属性,通过实例继承实现复用。调用时 this 指向当前数组实例,支持链式操作。理解关键在于区分静态方法与实例方法,以及原型污染的风险。

Array.prototype 与实例的关系
每个数组实例都隐式引用 Array.prototype。修改原型会影响所有实例。使用 Object.getPrototypeOf() 可验证关系。

const arr = [1, 2, 3]; console.log(Object.getPrototypeOf(arr) === Array.prototype); // true console.log(Array.isArray(arr)); // true
常见原型方法的行为差异
push、pop、shift、unshift 会修改原数组并返回新长度或元素。slice、splice 行为不同:slice 不修改原数组,splice 修改。map、filter 返回新数组,不改变原数组。理解这些差异有助于避免副作用。
立即学习“Java免费学习笔记(深入)”;

const a = [1, 2, 3]; const b = a.push(4); // a: [1,2,3,4], b: 4 const c = a.slice(0, 2); // a: [1,2,3,4], c: [1,2] a.splice(1, 1); // a: [1,3,4]


















