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

Поділитися
Вставка
  • Опубліковано 27 лис 2024

КОМЕНТАРІ • 84

  • @x0mek638
    @x0mek638 3 роки тому +135

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

  • @letsplay6285
    @letsplay6285 4 роки тому +19

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

  • @ivanmaslow2137
    @ivanmaslow2137 4 роки тому +33

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

  • @horna9109
    @horna9109 4 роки тому +22

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

    • @КатеринаТанцур
      @КатеринаТанцур Рік тому +1

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

  • @vladimirbudnichenko9840
    @vladimirbudnichenko9840 11 місяців тому +1

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

  • @artemkirkhmaier484
    @artemkirkhmaier484 3 роки тому

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

  • @deniskotov
    @deniskotov 2 роки тому +5

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

  • @katek1385
    @katek1385 3 роки тому +3

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

  • @manasmanapbaev8999
    @manasmanapbaev8999 3 роки тому +2

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

  • @TheS68123
    @TheS68123 8 місяців тому

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

  • @romanmotovilov129
    @romanmotovilov129 4 роки тому +6

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

  • @ДмитрийСеверенчук-х7ц

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

  • @robbyandreasian
    @robbyandreasian Рік тому

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

  • @ГеннадийГорохов-ц8н
    @ГеннадийГорохов-ц8н 7 місяців тому

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

  • @katek1385
    @katek1385 3 роки тому

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

  • @ВикторияКосован-л9р

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

  • @romankblckblc9582
    @romankblckblc9582 3 роки тому +2

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

  • @alifox6056
    @alifox6056 4 роки тому +4

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

  • @AOne1999
    @AOne1999 3 роки тому +15

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

    • @GreatVolcano
      @GreatVolcano 3 роки тому +1

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

    • @jonmace3522
      @jonmace3522 2 роки тому

      @@GreatVolcano ну ну=)

  • @denisdol935
    @denisdol935 4 роки тому +1

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

  • @mikhail_shokun
    @mikhail_shokun 2 роки тому

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

  • @alexnikolaienko3478
    @alexnikolaienko3478 3 роки тому

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

  • @yarik83men51
    @yarik83men51 4 роки тому +3

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

  • @МарияВасиленко-я5к

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

  • @isekaiguy9113
    @isekaiguy9113 3 роки тому +3

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

  • @qwekle456
    @qwekle456 4 роки тому +12

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

  • @nto-i7h
    @nto-i7h 4 роки тому +6

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

  • @glebkabayjanov5646
    @glebkabayjanov5646 4 роки тому +1

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

  • @mihrankhachatryan3693
    @mihrankhachatryan3693 3 роки тому

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

  • @ondrui
    @ondrui 3 роки тому

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

  • @tarasshevchuk8477
    @tarasshevchuk8477 Рік тому

    СУПЕР!!!

  • @uzver3787
    @uzver3787 4 роки тому +1

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

  • @Nerty77777
    @Nerty77777 4 роки тому +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 функції?

  • @maksymdudyk1718
    @maksymdudyk1718 4 роки тому +2

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

    • @jeb_7749
      @jeb_7749 4 роки тому

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

    • @maksymdudyk1718
      @maksymdudyk1718 4 роки тому

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

  • @laazz
    @laazz 4 роки тому +31

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

    • @ivanmaslow2137
      @ivanmaslow2137 4 роки тому

      yes!

    • @denissmolyar773
      @denissmolyar773 4 роки тому

      Daaa

    • @firstnofate
      @firstnofate 4 роки тому +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 4 роки тому

      Чиго?

  • @exploringtheworld8780
    @exploringtheworld8780 3 роки тому +1

    Спасибо👍😊👍

  • @MrSvitS1337
    @MrSvitS1337 4 роки тому +4

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

    • @const1525
      @const1525 3 роки тому

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

  • @bosbos8810
    @bosbos8810 3 роки тому +1

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

  • @namelastname1498
    @namelastname1498 Рік тому

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

  • @ВикторКлименко-щ9ф

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

  • @digitalturkistan1857
    @digitalturkistan1857 4 роки тому +2

    Спасибо

  • @GlobalTVArm
    @GlobalTVArm 4 роки тому +1

    really thx for video

  • @AlexandrSpirit
    @AlexandrSpirit 4 роки тому +1

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

  • @timzeynalov3537
    @timzeynalov3537 3 роки тому

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

  • @ВладимирМарусенко-з4ж

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

    • @itgid
      @itgid  2 роки тому

      Нет

  • @PoRoKLusT
    @PoRoKLusT 3 роки тому

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

    • @isekaiguy9113
      @isekaiguy9113 3 роки тому

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

  • @алексиванов-с3ц
    @алексиванов-с3ц 4 роки тому +3

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

  • @kamilgilmutdinov6440
    @kamilgilmutdinov6440 Рік тому

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

  • @olegm8489
    @olegm8489 4 роки тому +1

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

    • @tianshano
      @tianshano 4 роки тому

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

    • @olegm8489
      @olegm8489 4 роки тому

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

    • @tianshano
      @tianshano 4 роки тому

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

    • @13karatjaws88
      @13karatjaws88 4 роки тому

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

  • @volodymyrkozliuk6811
    @volodymyrkozliuk6811 4 роки тому +2

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

    • @evgeniyprowork
      @evgeniyprowork 4 роки тому +1

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

  • @olegBilyi-n4j
    @olegBilyi-n4j 2 роки тому

    Дякую

  • @ValeriiLutiy
    @ValeriiLutiy 11 місяців тому

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

  • @spllit9212
    @spllit9212 3 роки тому

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

  • @vasyaklishch4184
    @vasyaklishch4184 Рік тому

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

  • @РоманТамазян-е2ж
    @РоманТамазян-е2ж 4 роки тому +3

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

    • @Leon-hm5tk
      @Leon-hm5tk 4 роки тому +1

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

  • @АндрейСилецкий-м4ц
    @АндрейСилецкий-м4ц 4 роки тому +1

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

  • @nameLastname786
    @nameLastname786 2 роки тому

    Дякую !!!

  • @wertelko
    @wertelko 3 роки тому +2

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

    • @vikcause
      @vikcause 3 роки тому

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

  • @brabus765
    @brabus765 2 роки тому

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

    • @RedShucov
      @RedShucov Рік тому

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

  • @ТагирАбдулмаликов
    @ТагирАбдулмаликов 4 роки тому +1

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

  • @bilionievgen
    @bilionievgen 4 роки тому +1

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

  • @wisarty
    @wisarty 2 роки тому +1

    Дякую