JavaScript: Пользовательские итерируемые объекты (Symbol.iterator)

Поделиться
HTML-код
  • Опубликовано: 7 янв 2025

Комментарии • 30

  • @gyglejid
    @gyglejid Год назад

    Благодарю за твой труд и возможность интерактивно прощупать этот итератор!))

  • @virnus1
    @virnus1 Год назад +5

    Читаю learn JS, добрался до темы тренируемых объектов, само собой нафига не понял, после ролика стало чуть более понятно, ещё осталось понять а нафига оно надо.

    • @LNMaster_
      @LNMaster_  Год назад

      Более глубокое погружение в язык .

    • @Katya-jj6nh
      @Katya-jj6nh Год назад

      и я оттуда)

    • @denichi872
      @denichi872 Год назад

      для уровня мидл нужно

    • @artemev9658
      @artemev9658 9 месяцев назад

      поддерживаю, это че-за болото нахрена оно вообще нужно

    • @fl1ckyyy155
      @fl1ckyyy155 6 месяцев назад

      Жиза​@@artemev9658

  • @ДербуговИван
    @ДербуговИван 2 месяца назад

    Крутой видос, жаль так мало лайков...

  • @denichi872
    @denichi872 Год назад +2

    Красава бро! Не как все каналы пример из доки стянут и запишут формальное видео. То что я искал!

  • @EugeneKh.
    @EugeneKh. Год назад +1

    Твой код нуждается в рефакторе:
    Созданный массив с ключами находится в блочной области видимости, собственно нет неоходимости перезаписывать в отдельную переменную контекст вызова, там где ты ретернишь value просто укажи keys[counter++]
    Так же нет особой необходимости отдельно записывать свойство length в переменную, если к ней можно обратится напрямую.
    А в целом, с твоим примером я понял как создать кастомный итератор, спасибо!

  • @radist126
    @radist126 2 года назад +1

    Классный урок. Кажись наконец то я понял где сидят итераторы и как их делать. Вот только еще не понял, нафига они нужны? )))

  • @mykhailostepanishchev6472
    @mykhailostepanishchev6472 2 года назад

    Спасибо,было интересно.

  • @artedza
    @artedza 3 года назад

    Спасибо за видео!

  • @swave2720
    @swave2720 Год назад

    это бомба

  • @АнтонПодколзин-и7р
    @АнтонПодколзин-и7р 3 года назад +2

    Почему нельзя использовать Object.keys or Object.values ?

    • @КотМатроскин-х9ь
      @КотМатроскин-х9ь 3 года назад

      ебта зачем столько лишних строк кода??? реально же можно гораздо проще пройтись по объекту.... автор... зачем в заблуждение вводишь??????????????????

    • @LNMaster_
      @LNMaster_  3 года назад

      Можно. В продакшене как раз и прибегают к стандартным способам. Вариант через итератор дает больше контроля над состоянием объекта и также некоторые возможности (например пробежка через for of)

    • @userman6193
      @userman6193 2 года назад

      Дело в том, что вы контролируете проход. Вы можете перебирать через вызов next(), делая один шаг под условие. К примеру вы ожидаете поступления каких либо данных, как только они поступили вы выполняете комбинирование данных из вашего объекта с данными входящими и получаете к примеру новую строку или новый объект.

  • @MyNameIsRishat
    @MyNameIsRishat 2 года назад +1

    Самое подробное объяснение.

  • @muborizDev
    @muborizDev 3 года назад

    👍

  • @TheMugen18
    @TheMugen18 2 года назад

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

    • @LNMaster_
      @LNMaster_  2 года назад +1

      Очень редко

  • @webdeveloper5770
    @webdeveloper5770 6 месяцев назад

    А про for in не слышал?

    • @LNMaster_
      @LNMaster_  6 месяцев назад +2

      Ты можешь сделать как тебе заблагорассудится , тыкать носом альтернативным способом или оптимизацией не нужно

    • @gomuncool1004
      @gomuncool1004 2 месяца назад

      For in перебирает все свойства в том числе и наследуемые, что явно тебе не понравится

  • @psix9618
    @psix9618 2 года назад +1

    Почему вы говорите "Класса Object", если Object это функция-конструктор, а не класс?

    • @LNMaster_
      @LNMaster_  2 года назад

      По факту это функция-конструктор в контексте JS, да.