В ЯП Lua у объектов есть метатаблицы в которых содержаться метаметоды - ф-ции вызываемые при работе с объектами, по сути это и есть методы объекта, например добавление нового элемента в массив, эти метаметоды можно перегружать... Интерсно что есть метаметоды которые вызываются не только при явном вызове метода или св-ва объекта, но и при некоторых других событиях, например инициализация объекта, доступ к элементу массива и тд... В JS мне нужно отловить момент когда к массиву добавляется значение, не только через метод(ы)
var arr = [];
arr.push("string");
но и синтаксической конструкцией:
var arr = [];
arr[1] = "string";
Подскажите как можно отлавливать и перегружать методы у объектов в JS?