@EgorVoziyanov
Batman

Совет в изучении ООП JavaScript?

Посоветуйте ресурсы или книги или скринкасты чтобы быстро врубится в ООП JavaScript!

Спасибо за просмотр и будущие ответы!
  • Вопрос задан
  • 685 просмотров
Пригласить эксперта
Ответы на вопрос 5
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Как быстро врубиться в ООП в JS:

Все объекты. У объектов есть конструктор и прототип. Создание нового объекта - копирование прототипа в новый экземпляр объекта и вызов конструктора. В качестве контекста вызова конструктора будет использоваться экземпляр объекта. Конструктор - просто функция которая по умолчанию возвращает контекст вызова, но вы можете там сделать return и вывести любую херню.

Важно понимать что прототип копируется. То есть если вы создали 10 инстансов одного типа, потом поменяли прототип, например добавив метод), то у первых 10-ти инстансов этих методов не будет, а у новых - будет.

Наследование - просто объявляете тип со своим прототипом. В силу некоторых особенностей от некоторых типов не так то легко отнаследоваться без кастылей (например от массива).

Для упрощения работы в ES2015 новый синтаксис для объявления объектов своих типов.

Принципы ООП такие же как и везде, единственное что для инкапсуляции стоит еще про модули почитать так как в JS (как и в некоторых других языках) нет модификаторов доступа.
Ответ написан
Комментировать
rajdee
@rajdee
Front-end developer
Книга Стояна Стефанова - "JavaScript. Шаблоны"
Практически о том же, только с видео - Александр Самиляк об ООП в яваскрипте
Ответ написан
Комментировать
@dtestyk
javascript.ru
можете начинать потихоньку es6 classes
Ответ написан
Комментировать
SLY_G
@SLY_G
журналист, переводчик, программист, стартапщик
Ответ написан
Комментировать
qfox
@qfox
Ответы есть у меня
Можно еще через OOP в Ruby. www.theodinproject.com/ruby-programming/object-ori...

Берете OOP в Ruby, отсекаете Классы и Мета-классы, добавляете (вместо классов и метаклассов) — свою реализацию типа https://github.com/dfilatov/inherit или любую другую — получаете классы в JS.

ES6 классы, насколько я знаю, это просто сахар, так что не питайте надежд — оно не далеко уйдет от того, что есть сейчас, просто появится возможность писать более коротко.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы