hse-dj

Занятие 2: ООП, CommonJS-модули и npm (14.11.2017)

ООП

JS реализует ООП на основе обычных объектов и функций, с прототипным наследованием. Управления доступом (private / protected / public) нет.

CommonJS-модули и npm

node поддерживает систему модулей: код из одних файлов можно использовать в других. Браузеры не поддерживают такую систему.

Библиотеки можно ставить командой npm i --save <library-name> и тоже импортировать.

Данные о нужных для проекта библиотеках npm хранит в package.json. Начиная проект, сделайте npm init -y чтобы создать этот файл. После этого все нужные зависимости можно установить одной командой: npm i. Папку node_modules, в которой хранится сам код, лучше добавить в .gitignore — она огромная, и нет повода гонять её по сети и хранить в репозитории.

Задание

  1. Реализуйте на основе массива (this.data: []) класс Queue c методами pop и push. Новый объект всегда пуст.
  2. Расширьте Queue до Dequeue (добавьте методы pushLeft + popLeft). Используйте class + extends.
  3. Добавьте статический метод-фабрику Queue.fromArray(<array>), чтобы создавать объекты из массива. Можно ли вызвать его через Dequeue.fromArray?
  4. Найдите в npm любую библиотеку (например, реализацию очереди), установите ее и попробуйте написать любой код на ее основе.