Skip to content

Материалы программы по продвинутому JS

Notifications You must be signed in to change notification settings

javascript-ru/javascript-pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

javascript-pro

Материалы программы по продвинутому JS

Программа

  • Babel, современные средства сборки

    • Мы будем использовать пока-не-стандартные, но устоявшиеся фичи языка, которые легко понимает babel (система сборки везде на frontend) и (обычно) node.js
    • repl
  • modern classes, properties

    • Для создания объектов в современном JS используются классы
      • Простой пример
    • Символы, {}.toString.call(obj) window[Symbol.toStringTag]
    • Методы и свойства
      • Properties есть поддержка в ноде за флагом --harmony-public-fields и в babel давно, а #props, скорее всего, есть поддержка в babel7
      • https://github.com/tc39/proposal-class-fields babel/proposals#12
      • #props если в babel пока не работают, то только упоминаем
        • node --harmony-private-fields
      • Для приватных свойств пример с кофемашиной
        • … многим они уже знакомы
  • Подвиды методов/свойств

    • Static
      • Методы класса, не объекта (в современном js работает их наследование, увидим позже)
    • property getters and setters
      • Пример, существуют давно
  • Наследование

    • super в конструкторе потомка обязательно первым

      • По техническим причинам (классы-наследники не создают объект this, это делают только базовые классы)
    • Наследование статических свойств см диаграмку

    • Обращение к статическому методу из обычного - задача, как сделать, с учетом наследования?

    • Имя класса для отладки или чтения каких-то файлов (json?)

      • this.constructor.name
  • modules, import

    • Зачем нужны модули? (вопрос в зал)

      • Maintainability
      • Namespacing
      • Reusability
    • Old SChool: Module pattern, CommonJS, AMD and UMD

    • import / export, export default

      • Export class
      • Default export
      • Aliases (as syntax)
      • Export *
  • async/await (book)

    • Promise
      • Promise.finally
        • нужны ли базовые promise - сделаем опрос перед МК
    • async/await
    • Fetch (+abortcontroller)
  • iteration (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of)

  • Async Iterators (http://2ality.com/2016/10/asynchronous-iteration.html)

  • Memory managements: WeakMap, WeakSet

  • DOM methods

    • append/prepend/…
  • service workers + Notification api

About

Материалы программы по продвинутому JS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published