ООП в JavaScript. Объекты, прототипы, наследование

Sdílet
Vložit
  • čas přidán 26. 02. 2020
  • Мои курсы itgid.info/course
    Этот урок: itgid.info/unit/object-js?uni...
    Курс ООП JavaScript itgid.info/course/javascript-2
    Помощь Насте itgid.info/site/nastya
    Инстаграмм мамы Насти: maria_gaidu...
    Карта Приватбанк мамы Насти (Мария Гайдученко): 5168755420228781
    Телеграмм канал JavaScript Rules: t.me/jsrules
    Объектно-ориентированное программирование в JavaScript. Прототипы, прототипное наследование, __proto__, наследование на основе прототипов

Komentáře • 87

  • @x0mek638
    @x0mek638 Před 3 lety +132

    Александр, признаюсь честно, я не покупал ваших курсов, ни одних...
    Я понимаю что это ваша работа(даже если не основная) и она должна оплачиваться...
    Но то, что вы даёте бесплатный доступ на просмотр видео, пусть даже без общения и домашек, это очень поражает, я хочу сказать вам спасибо за это, я понимаю что рано или поздно все ваши старания попадут в общий доступ... Я понимаю что это не совсем благодарное занятие, обучать...
    В общем терпения вам, продолжайте, вы многому меня научили и я уверен что ещё научите.

  • @ivanmaslow2137
    @ivanmaslow2137 Před 4 lety +33

    Александр за вас топлю!) Только не останавливайтесь!))

  • @letsplay6285
    @letsplay6285 Před 4 lety +19

    Просто нет слов за пол часа я открыл для себя новый мир!

  • @horna9109
    @horna9109 Před 3 lety +21

    Дядько есть молодец. Изъясняется, как и полагается учителю. Знает, как достучаться до гуманитария.

    • @user-us6hm3ue7l
      @user-us6hm3ue7l Před rokem +1

      Кому дядько, а кому привлекательный мужчина в самом расцвете сил😊🎉

  • @vladimirbudnichenko9840
    @vladimirbudnichenko9840 Před 7 měsíci +1

    Добрый вечер! Спасибо что вы делаете качественный разбор материала!

  • @romanmotovilov129
    @romanmotovilov129 Před 4 lety +6

    Спасибо! Хорошо, что я нашёл ваш канал)

  • @TheS68123
    @TheS68123 Před 4 měsíci

    Это настолько крутой курс. Что некоторые менторы в их курсе, кидают ссылки на ваши видосы)

  • @AOne1999
    @AOne1999 Před 2 lety +15

    14:43 не заметили то что в обьекте прописали __proto__ = вместо двоеточия. Поэтому выскочила ошибка

    • @GreatVolcano
      @GreatVolcano Před 2 lety +1

      Да кста. Ну там всё равно ошибка вылезет, мол нельзя вызвать 'c' до её инициализации

    • @jonmace3522
      @jonmace3522 Před 2 lety

      @@GreatVolcano ну ну=)

  • @user-fd5zf5jq9q
    @user-fd5zf5jq9q Před 3 lety +2

    Огромное спасибо вам, лучший канал по JS!!!

  • @katekurak5133
    @katekurak5133 Před 3 lety +3

    Редко пишу комменты, но в каждом вашем видео открываю что-то новое или надежно закрепляются знание. Просто супер. Стыдно, что курс еще не купила. Может еще пару видео и не выдержу.

  • @deniskotov
    @deniskotov Před 2 lety +4

    А я купил у вас 6 курсов и все они восхитительные))) Очень сильно меня прокачали вы) Дякую!))

  • @manasmanapbaev8999
    @manasmanapbaev8999 Před 2 lety +2

    Огромное спасибо Александр!!! Отличный курс, сколько дней ищу курсы по основам JS, у вас отличная подача спасибо Вам за ВАШ труд, Ассалам алейкум из Кыргызстана.

  • @user-ml5vp6rp9n
    @user-ml5vp6rp9n Před 3 lety

    Всё предельно понятно. Спасибо!)

  • @yarik83men51
    @yarik83men51 Před 4 lety +3

    Толково. Спасибо

  • @alifox6056
    @alifox6056 Před 4 lety +4

    Спасибо за урок

  • @denisdol935
    @denisdol935 Před 3 lety +1

    спасибо за уроки . как всегда супер

  • @artemkirkhmaier484
    @artemkirkhmaier484 Před 2 lety

    Хочу отметить, это лучшее умение объяснять с которым я сталкивался.

  • @user-ml8hn5kg9e
    @user-ml8hn5kg9e Před 3 měsíci

    Шикарный урок спасибо!!!

  • @bilionievgen9004
    @bilionievgen9004 Před 4 lety +1

    спасибо за курс

  • @romanchernyshov2632
    @romanchernyshov2632 Před rokem

    Спасибо Александр!

  • @mihrankhachatryan3693
    @mihrankhachatryan3693 Před 3 lety

    Красиво, качественно, удобно)

  • @romankblckblc9582
    @romankblckblc9582 Před 3 lety +2

    Мужик, спасибо тебе!
    П. С. Курс по js отлично подходит чтобы вбить в себя основы js.

  • @ondrui
    @ondrui Před 3 lety

    отличный урок, спасибо!!!!

  • @user-xh8ws6cu5g
    @user-xh8ws6cu5g Před 3 lety

    тільки завдяки вашому відео зрозуміла суть proto. Дякую

  • @robbyandreasian
    @robbyandreasian Před rokem

    Слава Богу за ваши видео !

  • @glebkabayjanov5646
    @glebkabayjanov5646 Před 4 lety +1

    Отличный урок лайк!!!

  • @mikhail_shokun
    @mikhail_shokun Před 2 lety

    Спасибо, Алекс

  • @exploringtheworld8780
    @exploringtheworld8780 Před 3 lety +1

    Спасибо👍😊👍

  • @digitalturkistan1857
    @digitalturkistan1857 Před 4 lety +2

    Спасибо

  • @laazz
    @laazz Před 4 lety +31

    14:25 на 8 ой строке должна была быть ' __proto__ : c' , вместо '=' ?

    • @ivanmaslow2137
      @ivanmaslow2137 Před 4 lety

      yes!

    • @denissmolyar773
      @denissmolyar773 Před 4 lety

      Daaa

    • @firstnofate
      @firstnofate Před 3 lety +3

      а при объявлении класса "c", нужно использовать "var", вместо "let" (чтобы он "всплывал", так как объявлен позже, чем на него ссылается строка "__proto__: c").
      В итоге вот такой код работает:
      "use strict"
      let a = {
      "text": 'Hello',
      "color": 'red',
      "bold": true,
      "show": function (txt = 'a.this.show'){
      console.log(`color(${txt}): ${this.color}`)
      },
      __proto__: c
      }
      let b ={
      "fontSize": '24px',
      __proto__: a
      }
      var c = {
      "fontFamily": 'Verdana',
      __proto__: b
      }
      console.log(a)
      // правда смысла, кроме запутать логику программы, в таком изврате я пока не вижу

    • @malytv1170
      @malytv1170 Před 3 lety

      Чиго?

  • @isekaiguy9113
    @isekaiguy9113 Před 2 lety +3

    Добрый день, а разве использование __proto для наследования не устарело? Вроде сейчас нужно использовать Object.setPrototypeOf(), Object.create(). Поправьте, если неправ.

  • @tarasshevchuk8477
    @tarasshevchuk8477 Před rokem

    СУПЕР!!!

  • @katekurak5133
    @katekurak5133 Před 3 lety

    И к стати супер, что от темы не отходите, нет отвлечений по 20 мин. на создание методов и не нужных стилей. В первые вижу такие уроки ++++

  • @bosbos8810
    @bosbos8810 Před 3 lety +1

    Топовый контент

  • @Nerty77777
    @Nerty77777 Před 4 lety +3

    А чому не використовують Object.create() замість __proto__ щоб задати прототип об’єкта?
    const animal = { eats: true };
    const dog = Object.create(animal);
    dog.barks = true;
    console.log(dog.barks); // true
    console.log(dog.eats); // true
    Чи буде розглядатись Function.prototype і constructor функції?

  • @qwekle456
    @qwekle456 Před 4 lety +12

    Спасибо за урок, всё круто, но я не понимаю почем ничего не было сказано Object.create(), я так полагаю что __proto__ уже устарело
    В любом случае эту тему я понял только после вашего урока, так что подспорье не плохое

  • @AntonYatsenkoRU
    @AntonYatsenkoRU Před 4 lety +6

    Не справедливо в данном контексте опущена тема настройки параметров для полей «родительского» объекта, которые сообщают «наследникам» как и именно можно пользоваться наследуемым прототипом. А именно: enumerable, writable, configurable

  • @GlobalTVArm
    @GlobalTVArm Před 3 lety +1

    really thx for video

  • @AlexandrSpirit
    @AlexandrSpirit Před 3 lety +1

    Подскажите, а в ваших домашних работах есть возможность отработать получение данных с некоего бэкенда?

  • @timzeynalov3537
    @timzeynalov3537 Před 3 lety

    курса бомбачка

  • @uzver3787
    @uzver3787 Před 4 lety +1

    всё круто,но не главное не забывать увеличивать шрифт!

  • @namelastname1498
    @namelastname1498 Před rokem

    круто ,спасибо большое ,скажите пожалуйста ,а для чего ключи объекта пишутся через скобки?

  • @wisarty
    @wisarty Před rokem +1

    Дякую

  • @MrSvitS1337
    @MrSvitS1337 Před 3 lety +4

    27:03 'инвалид' - ахахха спасибо настроение подняли)

    • @const1525
      @const1525 Před 3 lety

      аххааахаххах))

  • @spllit9212
    @spllit9212 Před 3 lety

    23:56 зачем вам размер ноги клиента?
    Вы случайно не из Питера?

  • @alexnikolaienko3478
    @alexnikolaienko3478 Před 2 lety

    Приобрел уже 5й курс. Результат курсов превышает все ожидания.

    • @centralcat3325
      @centralcat3325 Před rokem

      Результат курсов это покупка следующего курса или что? Одно дело результат - трудоустройство, а тут ничего не ясно

  • @vasyaklishch4184
    @vasyaklishch4184 Před rokem

    а Object.setPrototypeOf() і .Object.getPrototypeOf() ше тоді не було????

  • @maksymdudyk1718
    @maksymdudyk1718 Před 4 lety +2

    Спасибо за видео. Кроха-ремарка: ключи свойств обьекта в кавички брать не нужно, если только ето не JSON. А также: __proto__ в коде использовать нельзя.

    • @jeb_7749
      @jeb_7749 Před 4 lety

      Я новичок. Почему нельзя использовать __proto__ в коде?

    • @maksymdudyk1718
      @maksymdudyk1718 Před 4 lety

      @@jeb_7749 Не поддерживается некоторыми старыми браузерами и является медленным по производительности. Но самое главное - это внутри обьекта у Вас находятся в принципе однородные сущности, напр.: в обьекте "девушка": цвет глаз, ниже - рост, еще ниже - возраст, а когда еще ниже - присваивание прототипа, то это не есть хорошо.

  • @kamilgilmutdinov6440
    @kamilgilmutdinov6440 Před 8 měsíci

    Сижу вот щас, пытался написать в коде прототипное наследование, прописал __proto__ : a, не работает, снизу код покажу:
    // Прототипное наследование
    let a = {
    name: 'user',
    age: 15
    }
    let b = {
    city: 'city'
    __proto__: a
    }
    console.log(b);

  • @user-ud1rd3bn8e
    @user-ud1rd3bn8e Před 2 lety +1

    Доброго дня! Скажите пожалуйста, имена свойств объекта, обязательно брать в кавычки? "username" :
    Спасибо!

  • @user-yx7in9nl1d
    @user-yx7in9nl1d Před 3 lety

    ООП в JavaScript. Объекты, прототипы, наследование

  • @volodymyrkozliuk6811
    @volodymyrkozliuk6811 Před 4 lety +2

    А по какой причине ключи указаны в кавычках?

    • @evgeniyprowork
      @evgeniyprowork Před 4 lety +1

      привычка видимо, это JSON так выглядит

  • @user-mz6jw7xx2z
    @user-mz6jw7xx2z Před 4 lety +3

    14:30 _proto_= c. Не понятно _proto_=c || _proto_:c ?

    • @Leon-hm5tk
      @Leon-hm5tk Před 4 lety +1

      __proto__ : c правильно

  • @olegm8489
    @olegm8489 Před 4 lety +1

    привет, у кого было так, что пишешь код
    HTML, CSS, сохраняешь в текстовом редакторе, обновляет браузер, а ничего не меняется?

    • @tianshano
      @tianshano Před 4 lety

      Было так с js, помогла чистка кэша браузера

    • @olegm8489
      @olegm8489 Před 4 lety

      @@tianshano это типа история браузера?

    • @tianshano
      @tianshano Před 4 lety

      @@olegm8489 оптимизация. Браузер сохраняет файлы,чтобы постоянно не тащить их из сети, скоращать время загрузки. Когда снова заходишь на сайт он достает файлы из своей памяти, а не загружает -> соответственно твои изменения могут не обновиться из-за того, что этот файл уже есть в кэше. Браузер прост достаёт файл из него.

    • @13karatjaws88
      @13karatjaws88 Před 4 lety

      @@olegm8489 дружище, не знаю решил ли ты проблему, но можешь просто использовать комбинацию Ctrl+F5.

  • @ValeriiLutiy
    @ValeriiLutiy Před 7 měsíci

    застарілий спосіб прототипу, хотілось би щоб ви оновили відео по ООП.

  • @PoRoKLusT
    @PoRoKLusT Před 3 lety

    Лайк видосу. Однако объясняются самые базовые, элементарные вещи. На канале нет про F.prototype и свойство constructor, собственно то зачем я пришел. Это печаль.
    И еще момент - 16:40 свойства можно перебирать с помощью цикла И метода hasOwnProperty в нем, потому что сам цикл for…in проходит не только по собственным, но и по унаследованным свойствам объекта

    • @isekaiguy9113
      @isekaiguy9113 Před 2 lety

      Само использование __proto для наследования уже deprecated, рекомендуется использовать классы с extends, или, если приспичило, Object.setPrototypeOf(), Object.create() итд

  • @user-pu4st1ze9v
    @user-pu4st1ze9v Před 4 lety +3

    У Алекса походу новая клава, звук прям другой))

  • @user-eu1ri5pb3f
    @user-eu1ri5pb3f Před 4 lety +1

    когда 3 выпуск?

  • @nameLastname786
    @nameLastname786 Před 2 lety

    Дякую !!!

  • @wertelko
    @wertelko Před 3 lety +2

    14:43 ошибка синтаксиса, ровно вместо двоеточия

    • @viktor6828
      @viktor6828 Před 3 lety

      Вот и я говорю! И не понятно теперь что там на самом деле должна была консоль показать)

  • @user-li7ce3fc3z
    @user-li7ce3fc3z Před 3 lety +1

    __proto__ = c ?? Что за хня это, зачем такой фигне учите

  • @brabus765
    @brabus765 Před 2 lety

    20:00 зачем написали else если можна сразу return.Лучше так не делать ,а то новички привыкнут и будут повторять

    • @RedShucov
      @RedShucov Před rokem

      Ну если уж углубляться, то можно вообще вот так return (this.password.length > 6)
      Но я думаю , что автор сделал так для наглядности

  • @user-il5ix1yz8p
    @user-il5ix1yz8p Před 4 lety +1

    ну какой же это зыс когда this

  • @user-fy7pv5cc7c
    @user-fy7pv5cc7c Před 2 lety

    Дякую