0
配列のpush
をオーバーライドしようとしています。私はオーバーライドする前に元のpush
メソッドを呼び出すことができる必要がありますので、配列に要素をプッシュできます。配列のオーバーライド時に元のメソッドを呼び出す
以下は私のコードです。 value
メソッド内にlist.push
を追加しました。私はこれが間違っていることを知っていますが、私が何をしようとしているのかを示すために追加しました。
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.
}
})
それは、プロトタイプや – ftor
インスタンス化されたオブジェクトの両方で、ネイティブメソッドを上書きするために悪い考えです、それは、理由はあなたが説明してもらえます悪いアイデアとは何ですか?ここで完成したコードは次のとおりです:http://codepen.io/JamesTheHacker/pen/dXvdBb 要素を配列にプッシュした後、別のメソッドを呼び出すためにpushを使いたいので、pushをオーバーライドすることにしました。私。アイテムが押されたときにイベントを発生させます。 あなたがこれを行うための「より良い」方法である、より良い、代替的なアプローチを持っているなら、それを聞いて欲しいです。ありがとう。 – BugHunterUK
@ LUH3417は自由に回答できます:http://stackoverflow.com/questions/38098876/why-is-it-a-bad-ide-to-override-native-methods – BugHunterUK