Недавно обнаружил непонятную логику работы JS:
Array.prototype.test = function(){console.log(this)};
[1,2,3,4,5].test();
// Вывод [1, 2, 3, 4, 5, test: function]
То есть, прототипируем объект типа "Array", а в итоге метод добавился в список как элемент данного списка
Есть мысли?