我正在尝试覆盖数组上的push
。我需要能够在覆盖之前调用原始push
方法,以便将元素推送到数组上。
以下是我的代码。我在list.push
方法中添加了value
。我知道这是错的,但我添加了它以显示我想要做的事情。
let list = [
'One',
'Two',
'Three'
]
Object.defineProperty(list, 'push', {
value: function(el) {
list.push(el) // I know this is wrong. Example of what I am trying to do.
}
})
答案 0 :(得分:3)
使用当前对象作为上下文调用原始原型实现:
Array.prototype.push.call(this, el)