Ответы пользователя по тегу JavaScript
  • Angular vs Knockout на больших списках

    @lahmatiy
    Вот немного допиленный ваш тест, с добавлением нескольких других библиотек: plnkr.co/edit/cTWetiNBorS8P2xcHhgm?p=preview
    Ответ написан
    Комментировать
  • В чём принципальная разница при определении методов у прототипа объекта в JS для двух вариантов?

    @lahmatiy
    Когда вы создаете функцию она имеет свойство prototype, это «пустой» объект. Фактически экземпляры будут наследоваться от Object. Когда вы присваиваете prototype другой объект, то экземпляры будут наследоваться от его прототипа. В вашем примере вы присваиваете анонимный объект, который наследуется от Object. Таким образом для вашего примера принципиальной разницы нет. По большей части кому как нравится, или как удобнее в определенной ситуации.
    Я бы не сказал, что здесь есть какие то подводные камни, если понимаете как устроены объекты в js. Многое зависит от того чего вы хотите добиться. Например, если вы прототипам разных классов присвоите один и тот же объект, то у них будет как бы один прототип — то есть не происходит копирование/дополнение свойств, а происходит обычное присвоение.
    Но если вы присваиваете анонимный объект в прототип, то скорей всего проблем не будет.

    Стоит так же помнить что присвоение в prototype другого объекта используется для наследования.
    На хабре довольно много материалов про наследование и вообще про javascript (например поиск по «javascript наследование prototype» выдает много интересных статей). Ознакомьтесь с ними.
    Когда вы будете понимать механизм работы prototype, то у вас не будет возникать подобных вопросов.
    Ответ написан
    Комментировать