Прототипирование массива, array prototype
Недавно обнаружил непонятную логику работы JS:
Array.prototype.test = function(){console.log(this)}; [1,2,3,4,5].test(); // Вывод [1, 2, 3, 4, 5, test: function] То есть, прототипируем объект типа "Array", а в итоге метод добавился в список как элемент данного списка :blink: Есть мысли? |
это консоль так отображает, метод в прототипе так и находится
Array.prototype.test = function () {}; alert([1, 2, 3, 4, 5].hasOwnProperty('test')); //false alert(Object.getPrototypeOf([1, 2, 3, 4, 5]).hasOwnProperty('test')); //true |
|
Часовой пояс GMT +3, время: 16:06. |