ООП в JavaScript. Классы, свойства, методы

  Рет қаралды 76,297

WebDev с нуля. Канал Алекса Лущенко

WebDev с нуля. Канал Алекса Лущенко

Күн бұрын

Пікірлер: 103
@ГармонистВитюша
@ГармонистВитюша 4 ай бұрын
Начинал учиться у Александра года три назад. Полтора года уже работаю и через пару месяцев ухожу в более серьезную разработку. Могу сказать, что у Александра одни из самых лучших курсов. Лучшей подачи базовых знаний и представить сложно. Советую. Вернулся, что бы подтянуть ООП. Скоро пригодится. Автору удачи и сил.
@ОстапПрагнення
@ОстапПрагнення 4 жыл бұрын
Смотрел сначала Минина и нИчерта не понял, а здесь все просто и ясно, как будто в сказке. Поетому держи Лайк без раздумуваний
@iJoise
@iJoise 3 жыл бұрын
Минин объясняет в роликах углубленное изучение, он это говорил в каких-то роликах. По этому не нужно расчитывать на понимание если ты новичок
@lexsk7361
@lexsk7361 3 жыл бұрын
Минин тоже хорош по-своему. Я стараюсь у них обоих учиться
@TheLittleMaksik
@TheLittleMaksik 2 жыл бұрын
Да, Владилен более углубленно и с технической стороны. А здесь простым понятным языком, чтоб понять принцип работы. Круто! Спасибо Вам!
@АленаЕршова-ъ5ю
@АленаЕршова-ъ5ю Жыл бұрын
+1
@likestrawberryjuice
@likestrawberryjuice Жыл бұрын
Все хорошо объясняют👍🏻
@InsectorPo
@InsectorPo Жыл бұрын
Спасибо за потрясающие уроки :)) Когда в ваших уроках вылезают ошибки, наоборот хорошо :) Во-первых лучше запоминается то, где ошибся, а во-вторых - мне как новичку как то спокойнее становится. Даже профессионалы где то запинаются, и ошибки начинаешь воспринимать как нормальное явление, а не то что у тебя руки не из того места 😆 👍
@13babyearth
@13babyearth Жыл бұрын
Алекс. Повторюсь, буду не оригинален, но, Ваши уроки бесценны. Настолько четко и доходчиво. Без запинок, без "эк бек мек". Всё четко и по полочкам. Без какой-то лишней информации. Именно как по документации, но доходчиво. Спасибо. Рад, что нашел Ваш канал. Среди тонны всякого бреда, где вместо обучения - мешанина.
@demosthenes4276
@demosthenes4276 Жыл бұрын
Спасибо за урок, сначало искал что то подобное на немецком ну и на английском, время потерял, и толь сдесь, толково и без воды. Привет из Германии!
@edwardwide9859
@edwardwide9859 2 жыл бұрын
Дай вам бог здоровья! Шикарный урок, лучший преподаватель!
@fightconflit434
@fightconflit434 4 жыл бұрын
Все так доступно объяснили, лайк. Учу js + react остановился на классах не мог найти понятного объяснения. Теперь, все ясно
@kennymccormick9103
@kennymccormick9103 11 ай бұрын
Большое спасибо, Александр!
@romanmotovilov129
@romanmotovilov129 4 жыл бұрын
Спасибо за отлиные уроки! Прекрассный материал и изложение!
@ТатьянаЛ-л9э
@ТатьянаЛ-л9э 3 жыл бұрын
благодаря видео поняла логику классов! спасибо большое!!!
@seoonlyRU
@seoonlyRU 2 жыл бұрын
за такую подачу и 2 лайка не жалко))) ООП решает! Лайк от гуру по кодингу - СЕООНЛИ
@АлександрМайстр
@АлександрМайстр 11 ай бұрын
Александр спасибо
@Da-Le-Ur
@Da-Le-Ur 3 жыл бұрын
Александр спасибо большое, очень понравился урок , всё конспектировал с удовольствием и слушал вас предельно внимательно!
@Виктория-д7э4я
@Виктория-д7э4я 3 жыл бұрын
Огромное спасибо за подробное объяснение!🙂
@Lena-io9ye
@Lena-io9ye 3 жыл бұрын
Спасибо, очень подробно объяснили. Я наконец-то поняла))
@МарияВасиленко-я5к
@МарияВасиленко-я5к 4 жыл бұрын
Спасибо, очень интересно и понятно обьясняете)
@aleksandrstaetskiy5687
@aleksandrstaetskiy5687 4 жыл бұрын
Наверное лучшее объяснение ооп в js
@winzip5861
@winzip5861 4 жыл бұрын
хорошо объяснил про конструктор и супер. Наконец то понял их :)
@ЛитвинЛюбомир-р1ч
@ЛитвинЛюбомир-р1ч Жыл бұрын
Давай помолимось богу щоби ми не тупили😂 Ти найкраще пояснюєш яву скрипт. Дякую
@kain1677
@kain1677 3 жыл бұрын
Не уверен что отсутствие подготовки к урокам это нечто хорошее, хотелось бы это отметить. Однако материал подан достаточно понятно и за это однозначно лайк
@DrZlad
@DrZlad 4 жыл бұрын
Что такое класс Я пол года убил что б понять что такое класс. И понял это только в ооп php. Хотя начинал с джс. ооп в джс хоть и идет из коробки, но оно кастрированное. Да и далеко не всегда оно там надо. Норм ооп только в ts. angular. По сути это чертеж. И когда вы что то делаете по чертежу, вы это делаете и изменяете как угодно но только не меняете при этом сам чертеж. Вы используете его как пример, но не трогаете его. Вы можете его скопировать и копию(объект) уже крутить как сможете, но не сам оригинальный чертеж(класс) вы не меняете(если конечно сильно захотеть... и любите жесткий махочь один против всех) Класс - это оригинальный чертеж. Объект- это как минимум копия чертежа. Другой пример. Вы приходите в какое либо учреждение, где вам нужно написать конкретную заяву. На стене висит образец. Вам осталось только его скопировать и внести свои изменения, но при этом не трогая сам образец. Пример из повседневного джс: Есть ассоциативный массив засунутый в переменую user, в ключах которого хранятся - значения и функции(свойства и методы). И вот когда вам он понадобиться, вы делаете копию из него userClone, и работаете только с копией. А он остаётся - как не тронутый экземпляр. Что бы не произошло user будет не тронут. Конечно это всё грубое упрощение. Но в корне что то очень похоже. Свойства- это переменные. Методы - это функции. Как уже сказал Алекс: Яркий пример из реальной практики - это пользователи. Вроде все одинаковые, но с разными возможностями. Жду критики в коментах.
@4ITTonik
@4ITTonik 4 жыл бұрын
А я их быстро освоил, понятно конечно что могут быть сложные структуры и тд, но сам принцип до меня дошёл, потому что сначала я изучил прототипы, функции-конструкторы, наследование, F.prototype, что все типы в JS это экземпляры встроенных классов Number, Array, Fuction, и тд, им всем эти конструкторы дают в прототип объект с методами, что из экземпляра объекта можно создать ему подобный, вот после всего этого, мне классы дались проще, уже чувствовал что это синтаксический сахар, есть конечно свои особенности, но в целом ничего сложного, просто я с теорией вместе всё это учил, а не тупо методом тыка.
@stephencurry8078
@stephencurry8078 4 жыл бұрын
Понять их очень легко, и работать тоже. А вот писать прогу в ООП стиле для меня пока беда
@phat80
@phat80 4 жыл бұрын
@@stephencurry8078 все понятно в теории. Открываешь код реального серьезного приложения или библиотеки и все, жопа полная ))) Вроде ООП с одной стороны все упрощает, а с другой намного усложняет, особенно если копаться в чужом коде. Жаль, что крайне мало роликов с разбором реальных приложений и объяснений, почему именно так. Бесят больше всего ролики, где заявляется следующее "ну для простоты давайте напишем код без применения ООП". И складывается впечатление, что авторы уроков сами знают ООП лишь в теории )))
@stephencurry8078
@stephencurry8078 4 жыл бұрын
@@phat80 да в теорий просто. Классы, объекты. Но когда приложение усложняется, тогда уже начинаешь терять нить.
@AlexandrSpirit
@AlexandrSpirit 4 жыл бұрын
Та же беда была пока не сел за пайтон. Сейчас опять вернулся на JS (нужен для фронта). И всё стало намного понятнее
@ВячеславНиколаевич-у2н
@ВячеславНиколаевич-у2н 4 жыл бұрын
Вполне доходчиво! Спасибо!
@СтаниславОкулов-о2ч
@СтаниславОкулов-о2ч 2 жыл бұрын
Спасибо за урок! Мне помогло.
@МедетБерикбаев
@МедетБерикбаев Жыл бұрын
Здравствуйте Александр! Я благодарен вам за ваши видеоуроки, здесь все понятно вы объясняете. Я хотел спросить, есть ли видеоурок на тему F.prototype? Если есть можете указать ссылку? Я уже изучал прототипное наследование. Только вот непонятно F.prototype. Был бы рад если объясните эту тему, или если эта тема уже была обсуждена ранее, и ссылку напишете...
@AndrianoVer
@AndrianoVer 4 жыл бұрын
Алекс, для вызова console.log достаточно просто написать clg, так быстрее => экономит ваше и наше время :)
@alexanderprunov2594
@alexanderprunov2594 3 жыл бұрын
Сокращений очень много в js. Но эти курсы для начинающих а не для Синьоров.
@chechenfromcanada3799
@chechenfromcanada3799 7 ай бұрын
Классно ❤
@ammoney159
@ammoney159 3 жыл бұрын
Такой вопрос. Насчет модульной разработки, не будет ли работать, если мы не будем подключить User.js к html, а экспортировать и импортировать напрямую в script.js?
@temarukz
@temarukz 3 жыл бұрын
Считаю что будет более правильным не пустые свойства а по умолчанию задавать какие либо свойства чтоб не вызывало таких ошибок .
@МедербекДубанаев-п2й
@МедербекДубанаев-п2й 11 ай бұрын
👍
@imvasia13
@imvasia13 4 жыл бұрын
Супер)
@Kain9111
@Kain9111 3 жыл бұрын
Кто подскажет что за трек играет в начале?
@---mg7yi
@---mg7yi Жыл бұрын
Вот это другое дело..А то с этими __proto .... просто неудобно для восприятия)
@hayem9090
@hayem9090 2 жыл бұрын
Можно также добавить, что методы созданные вне конструктора попадают в прототип
@pavelasafov
@pavelasafov Жыл бұрын
В теге script можно дописать type='module'
@АннаАндреевна-ь1и
@АннаАндреевна-ь1и 2 жыл бұрын
Спасибо!
@exploringtheworld8780
@exploringtheworld8780 4 жыл бұрын
Супер👍👍👍👍👍😊
@maga_frank
@maga_frank 2 жыл бұрын
Лучший👌
@pseudonim510
@pseudonim510 2 жыл бұрын
super понятно
@trenersambo
@trenersambo 3 жыл бұрын
Здравствуйте. Указанная ссылка "Этот урок..." фактически ведет на урок №2.
@Divanniy.Trader
@Divanniy.Trader 4 жыл бұрын
Вижу видео от Александра, ставлю лайк
@mikedevil4057
@mikedevil4057 4 жыл бұрын
Александр, у вас в описании указана ссылка на второй урок на вашем сайте а не на третий
@Ahmed__123j
@Ahmed__123j 3 жыл бұрын
все отлично!
@icetea1870
@icetea1870 4 жыл бұрын
Александр, скажите пожалуйста на какой микрофон вы записываете звук?
@AlexandrSpirit
@AlexandrSpirit 4 жыл бұрын
Вопрос наверное нубский, ибо я просмотрел только первые 4 видео, и дальше может быть будет ответ. Есть ли в классах JS свойства класса? Поясню. В пайтоне, я могу в классе задать свойства, которые будут у объектов, но так же могу задать свойства самому классу, и не относятся к объектам созданным из класса. Например, таким образом очень просто посчитать сколько объектов было создано у класса.
@ПетроПотрошенко
@ПетроПотрошенко 4 жыл бұрын
Спасибо, отличное видео!
@digitalturkistan1857
@digitalturkistan1857 4 жыл бұрын
спасибо
@rtotwmoclew
@rtotwmoclew 3 жыл бұрын
спасибо!
@MrG1V1
@MrG1V1 4 жыл бұрын
Знаком, немного, с Java и возник вопрос: есть ли в js конструктор по умолчанию(без параметров, задаётся неявно при создании класса) и что насчёт модификаторов доступа: public private protected и прочие?
@DrZlad
@DrZlad 4 жыл бұрын
MrG1V1 вроде все да. А вот протектед - не знаю.
@ndrew8188
@ndrew8188 4 жыл бұрын
TypeScript
@4ITTonik
@4ITTonik 4 жыл бұрын
Конечно, можно унаследоваться от встроенного класса: Array, Date и тд, в нашем унаследованном классе можно будет задать методы для экземпляра, они все будут в его прототипе, а у прототипа прототипа будут методы от родителя, тем самым, когда мы не объявляем в унаследованном классе constructor, он автоматом вызывается родительский. Защищённые поля есть, но не на уровне языка, их эмулируют и есть соглашение программистов, что поля начинающиеся с _ являются внутренними для структур данных, приватные тоже есть, уже на уровне языка, начинаются с #, но пока новинка и весьма сырая, есть проблемы при наследовании, так что все по старинке юзают защищённые поля, также можно примеси использовать и расширять поведение.
@tinaanit2965
@tinaanit2965 4 жыл бұрын
14:30 Подключение класса отдельным файлом
@name-yy9yu
@name-yy9yu 4 жыл бұрын
класно, дякую)
@dmitrysuhotskylessonjs3981
@dmitrysuhotskylessonjs3981 4 жыл бұрын
Подскажите почему в классе Student.js после вызова super.validatePassword возвращает ответ отUser.js(false), а блок кода следующий дальше( где this.passwor.length) ни него не выводит. В консоли только один false
@ЯнШацкий-п8ж
@ЯнШацкий-п8ж 4 жыл бұрын
Выводит false потому что пароль "7778888" < 10 . true будет если пароль поменять на больший.
@yuriyshevtsov2467
@yuriyshevtsov2467 Жыл бұрын
@@ЯнШацкий-п8ж но ведь в классе откуда вызывают этот метод "7778888" < 6 условие. вроде должно быть true
@maksymhurianov1343
@maksymhurianov1343 4 жыл бұрын
В js5 может конструктор наследоваться от конструктора?
@MrBeastFan_Gyak
@MrBeastFan_Gyak 3 жыл бұрын
thank you man
@РоманГирич-з5ш
@РоманГирич-з5ш 4 жыл бұрын
20:05 классы по дефолту идут в строгом режиме, вроде как бы
@РоманГирич-з5ш
@РоманГирич-з5ш 4 жыл бұрын
@Кот Кот та и есть +
@ivangessler9847
@ivangessler9847 4 жыл бұрын
Поимите благодарность! Учусь в Германии. Если бы у нас так всё объясняли!
@Metotron0
@Metotron0 4 жыл бұрын
Попробуй взять книгу "ES6 и не только"
@makcimenuka7904
@makcimenuka7904 4 жыл бұрын
Интересно неужели нельзя подключать файлы прямо в js файле? в этом языке есть модификаторы доступа?
@Nik-fl7lv
@Nik-fl7lv 4 жыл бұрын
можно)
@kapotonai
@kapotonai 4 жыл бұрын
Не понятно,почему метод validatePassword написан без слова 'function'.Так можно что-ли?
@ТарасКлімарчук2-12ФІТ
@ТарасКлімарчук2-12ФІТ 4 жыл бұрын
в классах и объектах возможно
@oleksandrlysiuk3971
@oleksandrlysiuk3971 4 жыл бұрын
Можете почитать learnjavascript там много нюансов можно узнать)
@Nurtulbukbek
@Nurtulbukbek Жыл бұрын
А где дз
@yahyo5452
@yahyo5452 4 жыл бұрын
Спасиба
@ЕгорМуравьёв-с2э
@ЕгорМуравьёв-с2э 4 жыл бұрын
Ребят, я тугодум и поэтому прошу объяснить: в чем разница между прототипированием и классом?)
@jeb_7749
@jeb_7749 4 жыл бұрын
Сам точно не знаю: тоже новичок. Если я не ошибаюсь, то в js есть 2 способа использования ООП: прототипное и классовое. Можно найти в интернете и почитать. Я только изучаю, не углублялся
@phat80
@phat80 4 жыл бұрын
@@jeb_7749 нет, в JS только прототипирование. Классы появились просто в синтаксисе, а на самом деле ничего не изменилось, все так же работает на прототипах.
@stephencurry8078
@stephencurry8078 4 жыл бұрын
@@jeb_7749 разницы нету, по этому желательно знать как работает прототипное наследование. Сейчас я ради этого тренируюсь, переписываю классы ES5 на ES6.
@yuraprotsuk
@yuraprotsuk 4 жыл бұрын
Дякую
@javascript2936
@javascript2936 3 жыл бұрын
12:43 остановился
@elizavetakonstantinova8661
@elizavetakonstantinova8661 3 жыл бұрын
Скучаю по старому оформлению превью
@ivanmaslow2137
@ivanmaslow2137 4 жыл бұрын
для закрепления классно, лучше на русском еще не видел.
@callpack96
@callpack96 4 жыл бұрын
like eje
@vitaercx
@vitaercx 4 жыл бұрын
По моему мнению, этот урок перегружен информацией. Другие Ваши уроки понял сразу, в этом одно накладывается на другое (из одного файла в другой, плюс неизвестные метод extend) и с трудом улавливал логику повествования. В любом случае спасибо. Еще плюс ваших курсов, что задачи даете с нарастающей сложностью и первые задачи позволяют разобраться в синтаксисе и объявлении вообще сущностей. Это очень облегчает и эмоционально проще выполнять) когда не чувствуешь себя "дураком"))
@temarukz
@temarukz 3 жыл бұрын
Здравствуйте, каждый класс в новом файле - это плохая практика и это не хорошо, считаю грубой ошибкой. Например : Будет 50 Классов и каждый в новом файле - это 50 запросов на сервер . Пример: 10 человек по 50 запросов 500 запросов на сервер за секунду а то и менее секунды . Это очень плохая практика !!!!
@iGotton
@iGotton 4 жыл бұрын
+
@yarik83men51
@yarik83men51 4 жыл бұрын
Понятно, но нелегко.
@boycovclub
@boycovclub 4 жыл бұрын
Все знающие классическое ООП думают ну наконец то нормальные классы и наследование в JS появились с ES6 )))) а на самом деле под капотом происходят те же извращения что и были раньше. Но чтобы понять как работает Прототипное наследование в JS придётся погрузится и в эти извращения, потому что много приложений написанных в старом стиле и дабы знать что под капотом.
@zloy_ax8496
@zloy_ax8496 3 жыл бұрын
+++
@stormd2902
@stormd2902 3 жыл бұрын
Спасибо
@olegBilyi-n4j
@olegBilyi-n4j 2 жыл бұрын
Дякую
@wisarty
@wisarty 2 жыл бұрын
Дякую
ООП в JavaScript. Наследование, классы. Super, конструктор.
25:19
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 47 М.
ООП в JavaScript. Мифы, наследование, полиморфизм, абстракции, наследованиеи,
1:01:03
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
ООП в JavaScript. Статические методы и свойства
23:37
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 28 М.
ООП в JavaScript. Get, Set JavaScript, приватные и защищенные свойства
23:01
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 48 М.
Не бойтесь  THIS  в JS
14:16
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 54 М.
Callback это просто. Разбираемся в callback JavaScript
15:33
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 75 М.
ООП в JavaScript. Объекты, прототипы, наследование
33:30
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 66 М.