ES6 #15 Итераторы (Iterators)

Поділитися
Вставка
  • Опубліковано 18 вер 2024
  • #YauhenK #webDev #ECMAScript #ES6
    Всех приветствую в курсе «ES6».
    В данном видео-курсе мы с вами рассмотрим все ключевые нововведения в стандарте ECMAScript 2015. Разберём практические примеры, а так же проведём аналогию стандартов ES6 и ES5. В своё время это было самое крупное и революционное обновление стандарта, которое добавило кучу новых возможностей начиная новыми способами объявления переменных и новым типом функций, заканчивая новым типом данных symbol, классами, итераторами и генераторами. Все эти фичи мы подробно изучим.
    ✒ Репозиторий курса:
    ✔ GitHub: github.com/Yau...
    ✒ Используемые ресурсы и инструменты:
    ✔ Atom (Редактор кода): atom.io/
    ✔ Node.js: nodejs.org/en/
    ✔ Browserify/Watchify: github.com/bro...
    ✔ NPM http-server: www.npmjs.com/...
    ✒ Полезные ссылки:
    ✔ Exploring ES6: exploringjs.com...
    ✔ Babel: babeljs.io/doc...
    ✒ Полезные курсы на канале:
    ✔ JavaScript: • JavaScript
    ✒ Полный список готовых и планируемых курсов:
    ✔ Trello: trello.com/b/R...
    ✒ Автор курса:
    ✔ UA-cam: / yauhenkavalchuk
    ✔ Instagram: / yauhenkavalchuk
    ✔ Twitter: / yauhenkavalchuk
    ✔ VK: YauhenK...
    ✔ LinkedIn: / yauhenkavalchuk
    ✔ GitHub: github.com/Yau...
    ✔ VK (Группа): webdevcom
    ✒ Поддержать развитие канала: github.com/Yau...

КОМЕНТАРІ • 44

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

    Вы мой спаситель ) . На курсах просто жесткий темп , нашел ваш канал и многое стало на столько ясно , что даже стыдно стало :D . Обьяснять что-то , это ваш конек 100%)

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

    Евгений спасибо вам, за вашу работу)

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

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

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

      Пожалуйста)

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

      после уроков про React легко обычный js идет) кода меньше, правильно говорят чтоб понять javascript надо брать проект и разбирать или библиотеку любую и погружаться в нее

  • @ЮрийДонников
    @ЮрийДонников 3 роки тому

    Максимально просто и понятно, спасибо автору видео!)

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

    было что вспомнить, спасибо за материал)

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

    Отличный материал. Спасибо!

  • @p_levin
    @p_levin 6 років тому +2

    Мне потребовалось 7 попыток, чтоб дослушать до конца xD постоянно отвлекался на чета.
    Было бы полезно знать, для каких целей обычно используют итераторы в коммерческой практике.

    • @YauhenKavalchuk
      @YauhenKavalchuk  6 років тому

      В моей практике использовал только один раз. Когда была очень мудрёная логика и нужно было создать "машину состояний". Больши использовать не приходилось)

  • @АлександрБачурин-й8к
    @АлександрБачурин-й8к 10 місяців тому

    Как же ты хорош)))

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

    Хотелось бы увидеть подобное что то в реальном проекте

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

      В реальных проектах ещё ни разу не применял

  • @user-ti6ez4bi3q
    @user-ti6ez4bi3q 5 років тому

    The best)))

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

    где указано, что при (done: true) цикл должен остановиться? Не вижу этого в коде в явном виде. Скрытая реализация самого FOR или где?

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

      Да, это внутренняя реализация. Возвращаемое значение просто проверяется на наличие данного поля

  • @Gavr-dev
    @Gavr-dev 5 років тому +3

    сложновато) в теории понятно что происходит, но на практике не представляю как это выглядит, и сам не напишу наверное.. но это не точно)

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 років тому +6

      Я сам использовал итераторы только 1 раз, когда потребовалось написать машину состояний. Больше и не использовал и не встречал

  • @БернардМаркс-у4н
    @БернардМаркс-у4н 3 роки тому +5

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

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

      Конечно, посмотреть 1 ролик из более чем 350 и сделать заключение о канале - это однозначно правильный подход. А какую индивидуальность я должен внести, если ни итераторы, ни генераторы на практике я ни разу не применял. Нету таких кейсов в моей практике когда они бы понадобились!

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

      @@YauhenKavalchuk Поковыряйте редакс-саги - очень занимательно. А, ну и асинк-авейт еще под капотом с генераторами работает, вроде.

  • @jses8560
    @jses8560 5 років тому

    Подскажите, пожалуйста, где ошибка:
    let generatorOfNumber = {
    start: 1,
    end: 15
    }
    console.log();
    generatorOfNumber[Symbol.iterator] = function() {
    let current = this.start;
    let last = this.end;
    return {
    next() {
    if(current

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 років тому +1

      В описании под видео ссылка на репозиторий. Можете сверить!

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

      друг мой если у тебя есть ошибки то это хорошо, ты так учишься, всегда сверяй код автора и свой, у меня обычно много ошибок, потому что я ж тему не знаю. По поводу ошибок в условии там где if надо return 13 строка и после else 16 строка тоже return, и взять все в фигурные скобки что после return идет,
      if (current

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

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

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

      Трудно ответить, сам ни разу не применял на практике. Лучше обратите внимание на генераторы, они используются на много чаще

  • @JohnDoe-p1y
    @JohnDoe-p1y 3 роки тому

    как вариант можно то же самое вот так выполнить ну или я что то путаю
    obj[Symbol.iterator]= function* () {
    for (key in this) yield this[key];
    }

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

      А смысл применять генератор, если о них будет идти речь только в следующем видео?). А в этом никто не знает что это такое)

    • @JohnDoe-p1y
      @JohnDoe-p1y 3 роки тому

      @@YauhenKavalchuk смысл в том, что если кому то нужен только функционал for of, скопирует короткий вариант. А кто это смотрит для обучения пройдет мимо коммента и дойдет до генераторов. А вообще очень толково объясняете интересные темы.

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

      Согласен) За отзыв спасибо

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

      Это эпично!!! :) Вы пытаетесь построить итератор на базе генератора, который сам построен на итераторе. Это как электродрель использовать в роли электродвигателя в бытовом вентиляторе. Т.е. можно, конечно. Но нафига? :)

  • @Unknown-yt7zu
    @Unknown-yt7zu 3 роки тому

    Как и где этот пример применять? Зачем вообще он нужен? То же самое написано в книжках, но для чего???

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

      В повседневной разработке это практически не используется. Только если не очень специфичный проект

  • @pendalfgrey1
    @pendalfgrey1 5 років тому

    +

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

    чисто пример из доки как все видео ютуба, не показательный пример конечно