ES6 #8 Классы (Class)

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ต.ค. 2024

ความคิดเห็น • 44

  • @MrDobro1214
    @MrDobro1214 2 ปีที่แล้ว +3

    ты на столько крут, что нам в Яндекс практикуме скидывают твои видосы перед ДЗ по теме классов и ООП) Обнимаю.

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 ปีที่แล้ว +1

      Спасибо

    • @Lokstar_Ugar
      @Lokstar_Ugar 6 หลายเดือนก่อน

      лол, вот бы объясняли так что бы и видос не понадобился) В Хекслете нашел видос в обсуждениях ;D

  • @user_with_params1286
    @user_with_params1286 4 ปีที่แล้ว +1

    Спасибо вам большое! Я новичок, мало пока чего понимаю, но ваш канал - лучшее, что я для себя открыл)

  • @РоманГирич-з5ш
    @РоманГирич-з5ш 5 ปีที่แล้ว +4

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

  • @ilgul9177
    @ilgul9177 5 ปีที่แล้ว +2

    Очень доходчиво разъяснено.

  • @АннаАндреевна-ь1и
    @АннаАндреевна-ь1и 2 ปีที่แล้ว

    Спасибо за крутые объяснения!

  • @truedivan
    @truedivan 3 ปีที่แล้ว +2

    Спасибо за урок, очень познавательно и подробно.
    Попытки произносить с акцентом немного режут слух. Как по мне лучше без акцента)

  • @flogger2367
    @flogger2367 ปีที่แล้ว +1

    А что мешает свойство static task сразу в класс?

  • @singlebw4065
    @singlebw4065 4 ปีที่แล้ว +8

    Что мешает создать свойство в классе с префиксом static? У меня вроде всё работает.

  • @SkarletSerhio
    @SkarletSerhio 5 ปีที่แล้ว +5

    9:35 Я правильно понимаю, что после переименования свойства isComplited нужно и в методе complited его переименовать, иначе у нас ничего не получится при выполнении данного метода класса?

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว +1

      Да, всё верно. Просто для примера этот метод не использовался, поэтому я не стал его трогать. Но суть вы уловили правильно!

  • @ШураБосс
    @ШураБосс 6 ปีที่แล้ว

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

  • @zatoprosto103
    @zatoprosto103 2 ปีที่แล้ว

    По идее, статику класса можно объявлять внутри конструктора.. Спасибо за уроки!

  • @andranikhambardzumyan6264
    @andranikhambardzumyan6264 3 ปีที่แล้ว

    Спасибо

  • @AnatoliiFedorchenko
    @AnatoliiFedorchenko 5 ปีที่แล้ว

    Хорошее видео. Единственное замечание, насчёт метода isComplited, принято чтобы мотоды начинающиеся с такого суффикса возвращали булево значение.

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว

      Да, согласен.

    • @pauldudich
      @pauldudich 3 ปีที่แล้ว

      ну так true и false чем тебе не булевое?

  • @ДмитрийНормов-ю6ц
    @ДмитрийНормов-ю6ц 2 ปีที่แล้ว

    Вы забыли указать ключевое слово "static"при создании статичного свойства. Это, пожалуй, ошибка. Не?

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 ปีที่แล้ว

      На момент записи курса - это не было ошибкой. Ключевое слово static появилось совсем недавно. Я даже не уверен, включено ли оно официально в стандарт на данный момент

  • @alexanderyinyang1436
    @alexanderyinyang1436 5 ปีที่แล้ว

    Спасибо за уроки. Поясни пожалуйста, на th-cam.com/video/BASquaxab_w/w-d-xo.html обязательно внутри класса вызывать статический метод с указанием названия класса, или можно опустить?

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว +1

      Пожалуйста. Смотрите static говорит о том что свойство, или метод нужны только для внутреннй реализации какой-то логики. И рпи наследовании класса эти методы и свойства не наследуются. Поэтому смотрите сами, какая функциональность вам нужна.

    • @alexanderyinyang1436
      @alexanderyinyang1436 5 ปีที่แล้ว

      @@YauhenKavalchuk а где здесь наследование? Внутри конструктора класса Task вызывается статический метод класса Task. Я просто думал, что внутри класса должны быть видны его методы

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 ปีที่แล้ว

      Иногда определённую реализацию функционала внутри класса прячут. Это распространённая практика

  • @singlebw4065
    @singlebw4065 4 ปีที่แล้ว

    Как кстате скрывать свойства не подскажете?

    • @YauhenKavalchuk
      @YauhenKavalchuk  4 ปีที่แล้ว

      Замыкание

    • @singlebw4065
      @singlebw4065 4 ปีที่แล้ว

      @@YauhenKavalchuk Ну как работает замыкание вроде бы мне известно, но чёт как его применить для сокрытия свойств чёт не понял.
      скажем есть у меня класс для рисования анимации кругов. Есть некоторые вычисления и записаны в свойства, как бы смысла их особо нет выводить. Просто появился интерес можно ли их скрыть и при этом чтобы метод экземпляра имел доступ к этим свойствам, но через console.dir не просматривались.
      class Circle {
      constructor(radius) {
      this.radius = radius;
      this.randWidth = Math.random() * canvas.width;
      this.randHeight = Math.random() * canvas.height;
      this.correctiondWidth = (this.randWidth < this.radius * 2) ? -this.radius : this.radius;
      this.correctionHeight = (this.randHeight < this.radius * 2) ? -this.radius : this.radius;
      this.x = this.randWidth - this.correctiondWidth;
      this.y = this.randHeight - this.correctionHeight;
      this.directionX = Math.random() * 1.5
      this.directionY = Math.random() * 1.2

      //вот 2 последних к примеру
      }
      animation(){
      ...
      }
      }

    • @v_sandz
      @v_sandz 4 ปีที่แล้ว

      @@singlebw4065 возвращай объект с публичными свойствами/методами. А в контексте родителя уже описывай приватные свойства/методы

  • @TheKirk1989
    @TheKirk1989 4 ปีที่แล้ว

    а почему не static counter? И почему бы не объяснить что значит этот static? Почему все объясняют эти классы в отрыве от ДО ЕС6 JS? это типо заговор? Это же тупо сахар для тех, кто хочет чтобы было более похоже на другие языки, и тот-же static это тупо
    function MyClass ( ) { };
    MyClass.staticProp = . . . ; ( присваивание объекту функции "типа конструктора" статического свойства и всё . . . ) но мало того, что даже это не казано, так у нас ещё и Task.counter. .
    Прям заговор какой-то мать его, или объясняющие сами не знают на что обращать внимание при объяснении! А это кардинально важно, если ты изучил обычное ес5 прототипное наследование, то наверное ПЕРВОЕ что нужно, это методом сравнения преподносить новый материал? ( ведь повторюсь снова ес6 синтаксис это вссеееееггооо лишь САХАААР ) Или в коричневых потоках комментов в духе " о боже, это лучеее обяснение " забывается главная цель сего действия на ютубе?

  • @AlexanderYukal
    @AlexanderYukal 6 ปีที่แล้ว

    Мдааа уж, со статическими свойствами класса что-то они перехитрили. В нормальном языке программирования эти данные объявляются внутри класса. Прям дичь какая-то

    • @РоманГирич-з5ш
      @РоманГирич-з5ш 5 ปีที่แล้ว

      так исторически сложилось ранее )
      как уже говорилось в видео, что классы это просто сахар, при переводе в ЕС5 это все функции =)

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      ¯\ _(ツ)_/¯

  • @compot8279
    @compot8279 4 ปีที่แล้ว

    что -_-,

  • @uzurbatya
    @uzurbatya 4 ปีที่แล้ว +2

    ты што, тоже англичанином заделался? Когда ж вы поймете, как убого вы звучите со своими "джауашкрипт" и "часк"

    • @YauhenKavalchuk
      @YauhenKavalchuk  4 ปีที่แล้ว +12

      Не так убого, как подобного рода комментарии