Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Прототипирование массива, array prototype (https://javascript.ru/forum/project/48027-prototipirovanie-massiva-array-prototype.html)

Алексей Фет 17.06.2014 00:54

Прототипирование массива, 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:
Есть мысли?

Octane 17.06.2014 01:15

это консоль так отображает, метод в прототипе так и находится
Array.prototype.test = function () {};
alert([1, 2, 3, 4, 5].hasOwnProperty('test')); //false
alert(Object.getPrototypeOf([1, 2, 3, 4, 5]).hasOwnProperty('test')); //true

рони 17.06.2014 02:53

:)
http://javascript.ru/forum/misc/1143...html#post69139


Часовой пояс GMT +3, время: 16:06.