#11 ООП, Прототип, Конструктор, Класс, Наследование, Супер JavaScript, Основы
Vložit
- čas přidán 8. 09. 2024
- В этом уроке мы рассмотрим Объектно-Ориентированное Программирование на языке JavaScript. Узнаем что такое Прототип, Конструктор, Класс и Наследование. Научимся использовать эти механизмы в своем коде.
⚡️ Эксклюзив на Boosty - boosty.to/itdo...
💡 Telegram канал и чат - t.me/itdoctor_...
🎥 Курсы на Stepik - stepik.org/use...
Дзен - dzen.ru/itdoctor
Rutube - rutube.ru/chan...
ВКонтакте - itdocto...
#itdoctor #js #javascript
Супер курс по языку JavaScript: stepik.org/z/113653
instaBlaster.
что делает знак доллар?
Отличный урок! Спасибо! Так держать!👍👍👍👍👍👍
Спасибо за урок. Заметил, что сейчас становится более популярным метод создания объектов через обычные функции с замыканиями переменных, которые обычно называют через слово create, например, createUser(). Мне он тоже больше нравится, как-то более наглядно видно, что куда идёт, нет странного синтаксиса классов. С помощью функционального метода и наследование можно реализовать, и всё, что угодно ещё, но гибкости при этом больше. Лично я в своих проектах только функциональный метод использую. Например, создание User'а выглядело бы так:
const createUser = (name, age, admin=false) => {
function myInfo() {
console.log('Меня зовут ' + this.name + ', мой возраст: ' + this.age)
if (this.admin) console.log('Я админ')
}
return { name, age, admin, myInfo }
}
Если нужно унаследовать, то просто пишешь так:
const createModerator = (name, age, admin=false, moder=true) => {
const user = createUser(name, age, admin)
function addPost() {
console.log('Новый пост')
}
function myInfo() {
user.myInfo()
if (this.moder) console.log('Я модератор')
}
return { ...user, moder, myInfo, addPost }
}
Спасибо что делитесь
Очень полезно и понятно, большое спасибо.
спасибо что оценили
Каждый урок - находка для того, кто изучает JS!!! в понимании наследования, мне очень помогло знание SCSS. Там очень схоже + похожий синтаксис. Спасибо огромное!! Было бы вообще круто, если бы эти все примеры показывали с выводом на страницу. Но и без этого очень полезный материал делаете!
далее в этом плейлисте мы будем изучать dom там будет работа со страницей
Спасибо за крутые уроки!
начало,наследование , инфа про прото
Отличное видео! Стало все понятно и пример тоже хороший!
Супер урок супер курса - всё просто , чётко и понятно! Большое спасибо!
Спасибо, рад что вам нравится
16 минута класс
Спасибо за ролик! Тяжело заходит ООП! Мало примеров, все какие то однотипные и куцие. Не льзя ли разобрать ещё пример ООП, например генеалогическое дерево (дети, родители, прародители, прапрародители..., фото, краткие истории и т.д.), этот пример был бы нагляден для каждого и может помог бы в освоении ООП.
Вложенности больше двух не приветствуется . Их тяжело отслеживать и они запутывают код. Достаточно понять одно вложение и самому тренироваться. 2- ой объект наследуется от 1-го , а первый от глобального Object . То есть если вызвать какое то свойство(метод) у 2-го объекта которого нет но по ссылке будет искаться в 1-ом если в1-ом его нет он будет искаться в глоб объекте. И там зависимости от наличия будет результат
Хороший выпуск!
Огромное спасибо за урок! Мне лично ООП очень нравится как способ реализовывать код
Всегда пожалуйста
53:50 шаблон для номеров)
Посмотрел От и До. Благодарю 🌎
Спасибо
44:31 привет обратные кавычки из пчп
Тема и вправду немного сложнавата, но с твоими объяснениями при должном желанию разобраться более чем возможно. Правда, иногда не хватает конкретики относительно написанных тобой методов. Ну, и само собой пламенное спасибо за прекрасную подачу и понятные изъяснения!
Спасибо за оценку. Тема действительно не простая. постепенно с опытом и временем придется. если конечно уделять на это время и получать новый опыт регулярно!
Спасибо большое. Для меня ООП - единственное что не заходит
супер, спасибо за видео!!!
Пожалуйста
36:46 шаблон
Плейлист очень хороший, но есть 1 минус, по крайней мере для меня: слишком большое количество информации в 1 ролике. Этот ролик точно подошёл бы для людей, которые уже знают js и лишь повторяют его, а для людей, которые только изучет, мне кажется он покажется излишне сложным
Дэрс ичюн чох саол. Машалла!
спасибо
Отличный урок!
спасибо
Так-то ничего сложного, просто нужно разобраться как и чего, а для этого нужно время. Есть 3 принципа ООП, сейчас еще выделяют 4-й, но многие скептически к этому относятся, а так да - наследование - это основа, иначе мы улетаем в процедурное программирование)))
так в целом все доступно в этом мире
Да вроде ОПП не так сложен, если честно, все предельно понятно: есть объект, у него может быть статичная запись, от него можно наследоваться и у объекта есть свои стандартные наследуемые параметры от самого движка, единственное, что стало действительно запутанным, это пример в конце, но в принципе, если полностью погрузиться в то, что нужно сделать с помощью используемых параметров, то можно реализовать. Глаза боятся, руки делают, так сказать)
Мне труднее дается функция, почему-то, непонятно когда используется функция, для чего она нужна, когда лучше использовать стрелочную функцию (с моими скромными знаниями, я помню, что у функции есть область видимости, но к стрелочной функции это не относится, также, если я не ошибаюсь, то стрелочная функция по-другому работает с кешем), вот у скольких ютуберов не смотрю, не могу никак въехать в каких именно случаях она пригодится, за исключением каких-то мат. задач, также был непонятен return что он именно возвращает, почему без него в некоторых моментах ничего работать и не будет, но с твоими примерами я на каком-то интуитивном уровне начинаю понимать, когда использовать retrurn, а когда можно обойтись без него) осталось только въехать в само предназначение функции.
Кстати, скажи, пожалуйста, а дальше по курсу будет урок, как JavaScript работает с памятью? Может какие-нибудь лайфхаки, рекомендации как оптимизировать записи, какая память забивается, как лучше не работать с памятью, дабы её всю не забить и прочее. Если такого видеоролика нет, то будет ли он?
такого видеоролика нет. и не думаю что будет. на javascript это называется сборка мусора, она происходит автоматически, можно почитать тут - этого будет достаточно для понимания learn.javascript.ru/garbage-collection а другие моменты больше наверно относятся к архитектуре программы и правильному её построению. тут уже лучше читать книги например Чистая архитектура. Искусство разработки программного обеспечения Роберт Мартин
Return не обходим когда необходимо сохранить результат работы функции function foo(a, b) {
return a+ b
}
let result = foo(1, 2);
В переменной result будет 3. А если просто надо вывести сообщение типа привет мир можно без return
Спасибо! Но у меня вопрос. Корректно ли писать логику в конструкторе? В C# например Microsoft не рекомендует так делать, а только присваивать значения, а логику писать уже в методах.
это уже больше из разряда архитектура кода, и конечно там свой отдельный глубокий мир. это все приходит с опытом, на данной стадии это не принципиально важно для начинающего думать о таких вещах. а я эти курсы и видео позиционирую именно для начинающих.
Сейчас уже в Chrome консоле не proto, а [[Prototype]] и __proto__: admin уже не работает. Что делать?
Купил курс, смотрю это же видео на Юдемай, слабо понял, зашел почитать в ютуб коменты, не один ли я такой 🤣
это на простая тема, для начала можно просто ознакомиться, и продолжить. чуть позже снова вернуться, и спустя некоторое время будет все больше и больше осознания и понимания как это работает и для чего нужно
@@ITDoctor да, тоже так думаю. Параллельно с курсом смотрю другие источники, и картинка по малу складывается
Крутой урок но количество информации которую приходиться систематизировать просто обезкураживает.Чувствую себя как ученик в додзе которому надавали люлей на первой тренировке.
Как по клику на кнопку запускать метод, вот это интересно
в супер курсе это рассматривается. Да и на ютубе в других моих видео можете поискать не раз показывал. Обработчик события нужно создать addEventListener
@@ITDoctor в addeventlistenerе что-то типа class.func() ???
777 это такой портвейн был в СССР
Что то с атрибутом room нет метода, как пример можно добавить так
/**
* Вывести ФИО и номер комнаты
* @param {String} ФИО
* @param {Number} номер комнаты
* @return {String} строка формата "ФИО живет в номере номер комнаты"
*/
getRoomNumber(){
return`${this.name.f} ${this.name.i} ${this.name.o} живет в номере №${this.room}`
}
Спасибо, очень доступно все объяснил!
Пожалуйста