Классы в JavaScript - объявление, конструктор, наследование, экземпляр, геттеры и сеттеры

Sdílet
Vložit
  • čas přidán 27. 08. 2024

Komentáře • 32

  • @AleksanderLamkov
    @AleksanderLamkov  Před měsícem +3

    📌 Друзья, в телеграмме у нас есть отдельный чат, где вы можете задать вопрос по фронтенд-разработке и вам постараются помочь:
    💬 t.me/friendlyFrontendChat
    Если вам это интересно, присоединяйтесь, задавайте вопросы и помогайте другим 🙂

  • @emptyyyyydkfoe
    @emptyyyyydkfoe Před 26 dny +3

    Как по мне, самое понятное объяснение ооп в js, спасибо огромное

  • @loxxyn2643
    @loxxyn2643 Před měsícem +7

    Очень понравилось когда ты показал примеры использования классов из реального проекта, показывай больше таких примеров т.к они вносят большую ясность и ты можешь наглядно увидеть применение

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem +12

      В следующем мастер-классе будет верстка с JS, где сначала напишем логику компонентов на функциях, а затем покажу, как удобно можно всё организовать через классы.

    • @karinanetupskaya1503
      @karinanetupskaya1503 Před 15 dny +1

      @@AleksanderLamkov да, я только подумала "вот бы на реальном примере увидеть что это" и вуаля показал пример с проекта. Спасибо за такой качественный контент!

  • @user-km3pj7uv4t
    @user-km3pj7uv4t Před 13 dny +1

    Коммент в поддержку, спасибо за урок!

  • @user-qx8cb5uj8z
    @user-qx8cb5uj8z Před 16 dny +1

    17:45 - "А что если разработчик спит не как обычный человек" Заставляет задуматься и улыбнуться🤣👍👍👍

  • @mouri_san
    @mouri_san Před 4 dny +1

    Спасибо!

  • @smotritelyoutube
    @smotritelyoutube Před měsícem +2

    Лайк, стало реально понятнее, теперь бы еще попрактиковаться в этих классах

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem +2

      Обязательно применим на практике в следующем мастер-классе!)

  • @svitboomer8840
    @svitboomer8840 Před měsícem +2

    Ты как всегда на высоте!!

  • @Triplanar
    @Triplanar Před měsícem

    Александр, спасибо за ценную информацию, которую даете в последнее время стал смотреть только ваши уроки по интересующим темам, хотел бы очень увидеть урок по bootstrap от вас

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem +1

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

  • @BjarkiJohanne
    @BjarkiJohanne Před měsícem +52

    А как лучше использовать геттеры и сеттеры в JavaScript классах?) я когда искал курсы по IT,рассматривал разные компании,но выбрал Skypro,потому что они помогли мне освоить веб-дизайн))

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem +2

      Я покажу в следующем мастер-классе, как можно их использовать 🙂

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem +7

      Забавно. На нескольких роликах моего канала похожие комментарии с упоминанием Skypro, залайканные по ~50 раз.
      Я понимаю, что это вы так рекламируете себя.
      Не мне судить о ваших способах пиара, но своих подписчиков предупрежу - анализируйте, пожалуйста, курс перед покупкой, смотрите программу обучения, изучайте условия, сравнивайте несколько предложений и не принимайте поспешных решений.

  • @user-xl7nb9cp2b
    @user-xl7nb9cp2b Před měsícem +1

    ты лучший!!!

  • @lawsonllka271
    @lawsonllka271 Před měsícem +1

    Отличный урок, очень ограничены классы в своих возможностях в js по сравнению с другими языками, с другой стороны от него и не требуется таких возможностей.

  • @miwanjaGR
    @miwanjaGR Před měsícem +1

    на 2:40 все таки сдался и сказал "конструктор")))

  • @avatar33311111111111
    @avatar33311111111111 Před měsícem

    На видео ( 11:46 ) у тебя свёрнуты фрагменты кода сеттера и геттера: city, в одну строчку. Есть ли такая настройки и для html/css/js в vs code? Всё никак не могу найти её или это расширением каким делается?

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem

      Да, есть!
      File --> Preferences --> Keyboard Shortcuts
      Хоткеи для:
      Fold All
      Unfold All
      Выделяешь блок кода, жмешь сочетание клавиш и выделенная часть кода сворачивается / разворачивается. Работает для всех языков, в т. ч. для HTML, CSS и JS.

    • @avatar33311111111111
      @avatar33311111111111 Před měsícem

      @@AleksanderLamkov не то поведение. Это стандартное сворачивание/развёртывание но для всех блоков кода в файле. Я хочу найти поведения при сворачивание/развёртывание, на подобие расширение: Better Folding, само расширение работает немного коряво и не для html.

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem

      Хм, о таком не знаю, извини. В WebStorm всё изкоробки. Посоветовал бы на него перейти, если есть такая возможность.

  • @alexandraweather4156
    @alexandraweather4156 Před měsícem

    такой вот вопрос: есть задача сделать список карточек с десертами, из 30 штук, вся информация для них лежит в json. Каждая карточка имеет кнопку "добавить в корзину", нажатие на которую открывает качели больше-меньше. Есть ли смысл использовать классы для этого, как я планировала?
    я думала фетчить данные, перебирать их в цикле, создавая для каждого экземпляр класса с соответствующими методами. Только вот не знаю правильная ли это идея. А еще я не очень понимаю как прослушивание событий на них вешать - отдельно или внутри класса как часть метода создания.
    Спасибо большое за вашу работу!

    • @AleksanderLamkov
      @AleksanderLamkov  Před měsícem

      Классы позволяют структурировать код, но при этом не обязательно создавать экземпляр класса под каждую карточку товара, можно сделать всё в одном классе.
      Что-то вроде:
      class ProductList {
      constructor() {
      this.fetchItems()
      this.renderItems()
      this.bindEvents()
      }
      }
      Затем просто инициализируем:
      new ProductList()
      По поводу "прослушивания событий" - в методе bindEvents навешиваем на document событие click, определяем цель клика и если кнопка "Добавить в корзину", то делегируем событие (объект event) отдельному методу класса, который уже и будет обрабатывать клик по конкретной карточке.
      Вообще, задачу эту можно решить множеством способов. Сделай так, как тебе кажется удобным. Главное, чтобы работало.

    • @alexandraweather4156
      @alexandraweather4156 Před měsícem

      @@AleksanderLamkov большое спасибо!

  • @Zefurfy
    @Zefurfy Před měsícem

    Всегда думал, что в js классов нет.

    • @VicVlasenko
      @VicVlasenko Před měsícem +1

      Уже есть.
      Прототипное наследование, любые функции-конструкторы, очень своеобразная область видимости и прочие особенности уходят в прошлое.
      Скоро язык станет тем, чем его изначально предполагали делать - java в браузере.

  • @0ver4ance
    @0ver4ance Před 25 dny

    15:05
    Практическим методом выяснил, что в статических методах можно обращаться через ключевое слово this но только к статическим методам и свойствам:
    class Student {
    static country = 'Россия'
    constructor(name, age) {
    this.name = name
    this.age = age
    }
    static logCountryInner() {
    console.log(`Страна: ${this.country}`)
    }
    static logCountry() {
    this.logCountryInner()
    }
    }
    Student.logCountry()
    У меня такой код вывел в консоль "Страна: Россия" без ошибок

  • @biscvie
    @biscvie Před měsícem +1

    Спасибо!