Прототипирование массива, 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, время: 23:15. |