@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 классы, насколько я знаю, это просто сахар, так что не питайте надежд — оно не далеко уйдет от того, что есть сейчас, просто появится возможность писать более коротко.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы