Ответы на вопросы на должность Frontend разработчика.
Расширение встроенного (нативного) объекта JS означает добавление свойств (функций) к его прототипу. Хотя на первый взгляд это может показаться хорошей идеей, на практике это опасно. Например, ваш код использует несколько библиотек, которые расширяют Array.prototype
, добавляя один и тот же метод contains
. В результате код будет работать неверно, если поведение этих двух методов не будет одинаковым.
Единственный случай, при котором можно расширить нативный объект — это при создании полифила, создав собственную реализацию метода, который является частью спецификации JS, но может отстутствовать в устаревших браузерах.