JavaScript ООП, запутался? Прочитал книгу "JavaScript для профессионалов: 2 издание", и совсем запутался. В этой книге был представлен единственный шаблон создания повторного использования кода, то есть ооп. вот пример этого шаблона https://jsfiddle.net/7zn5ccgq/ Автор писал что в свойство prototype вообще не нужно лезть. На сколько я знаю, когда начинал учить JavaScript, во всех документациях которые читал, в том числе и на learn.javascript.ru, описывают что обычно предпочтительнее ооп в прототипном стиле. А вот в каком стиле как я обычно пишу codepen.io/radum/pen/xICAB (это не мой код, просто для примера) А тут автор, который jQuery создал. То ли пока я учил JavaScript что то поменялось в этом плане, а я так учил что и не заметил, то ли создатель jquery с ума сошел, то ли я вообще ничего не пойму... Помогите пожалуйста.
Не переживайте, это действительно может вызвать путаницу.
JavaScript поддерживает две основные парадигмы программирования: объектно-ориентированное программирование (ООП) в прототипном стиле и объектно-ориентированное программирование с использованием классов.
Ваш первый пример из книги представляет собой пример объектно-ориентированного программирования в прототипном стиле, где объекты наследуют свойства и методы от прототипа. В прототипном стиле создается "цепочка прототипов", где каждый объект имеет ссылку на свой прототип, и таким образом наследует его свойства и методы.
Второй пример, который вы привели из Codepen, использует объектно-ориентированное программирование с использованием классов. Это новый синтаксис, введенный в ES6 (ECMAScript 2015), который делает написание кода в стиле ООП более привычным для разработчиков, привыкших к классическим языкам программирования.
Оба подхода валидны и могут быть использованы в JavaScript. Выбор между ними зависит от ваших предпочтений и задачи, которую вы решаете. Некоторые разработчики предпочитают прототипный стиль из-за его гибкости и мощи, в то время как другие предпочитают использовать классы из-за их более явного и понятного синтаксиса.
Если вы сомневаетесь, какой подход выбрать, рекомендую попробовать оба и посмотреть, с каким вам удобнее работать. Как только вы определитесь, вы сможете более уверенно применять выбранный подход в своем коде.
Не переживайте, это действительно может вызвать путаницу.
JavaScript поддерживает две основные парадигмы программирования: объектно-ориентированное программирование (ООП) в прототипном стиле и объектно-ориентированное программирование с использованием классов.
Ваш первый пример из книги представляет собой пример объектно-ориентированного программирования в прототипном стиле, где объекты наследуют свойства и методы от прототипа. В прототипном стиле создается "цепочка прототипов", где каждый объект имеет ссылку на свой прототип, и таким образом наследует его свойства и методы.
Второй пример, который вы привели из Codepen, использует объектно-ориентированное программирование с использованием классов. Это новый синтаксис, введенный в ES6 (ECMAScript 2015), который делает написание кода в стиле ООП более привычным для разработчиков, привыкших к классическим языкам программирования.
Оба подхода валидны и могут быть использованы в JavaScript. Выбор между ними зависит от ваших предпочтений и задачи, которую вы решаете. Некоторые разработчики предпочитают прототипный стиль из-за его гибкости и мощи, в то время как другие предпочитают использовать классы из-за их более явного и понятного синтаксиса.
Если вы сомневаетесь, какой подход выбрать, рекомендую попробовать оба и посмотреть, с каким вам удобнее работать. Как только вы определитесь, вы сможете более уверенно применять выбранный подход в своем коде.