Сегодня я расскажу о важности подклассов, о том, как это делается, когда их использовать и, самое главное, как это может сэкономить время для вашего следующего проекта.

Что такое подклассы в Javascript?

Что ж, подклассы в Javascript очень похожи на то, как они работают в других языках программирования. Подкласс — это класс, который наследует как свойства, так и поведение другого класса, а также имеет возможность изменитьсвойства этого класса, не редактируя сам класс. Лучшей аналогией этого, которая связана с реальным миром, было бы представление дерева как класса и ветви как подкласса; ветвь состоит из генетического кода дерева, но имеет дополнительные свойства, такие как создание веток и листьев.

Насколько легко создать подкласс Javascript?

Есть два метода, которые можно использовать для создания подкласса Javascript: псевдоклассическая реализация и ES6. В псевдоклассической реализации создание подкласса требует использования метода 'function.prototype.call()' и метода 'Object.create()', а также включает прототип конструктора. В ES6 вам нужно будет использовать метод «super()» вместе с extends и включить функцию-конструктор, которая выступает в качестве заполнителя для хранения данных и параметров подкласса.

Как можно использовать подклассы Javascript в коде?

Для этого давайте рассмотрим несколько примеров и разберем их по отдельности.

Здесь у нас есть пример подкласса, использующего псевдоклассическое создание экземпляров, где Plane является нашим классом, а Jet является нашим подклассом. . Первое, на что следует обратить внимание, это строка 3. Plane вызывается со своими параметрами вместе с this, который получает параметры класса и привязывает их к подклассу.

Если мы продолжим анализировать код, в строках 22 и 23 будет создан новый прототип Plane в прототипе Jet, который связывает их вместе. Существует также прототип конструктора, который определяет функцию конструктора подкласса.

В строке 6 все становится интереснее. Вы можете видеть, что в Jet используется метод функции, однако внутри этой функции есть функция с тем же именем, но это НЕ рекурсия. Это связано с тем, что метод функции checkFuel назначается прототипу Jet, в то время как метод checkFuel внутри метода функции назначается прототипу Plane и вызывается из Plane, что делает обе функции своими собственными.

Здесь у нас есть пример подкласса, использующего ES6, где Plane — наш класс, а Jet — наш подкласс. В строке 26 вы можете видеть, что между Plane и Jet используются расширения, которые связывают Jet как подкласс Plane.

Прямо под строкой 26 вы увидите функцию-конструктор, используемую для хранения параметров подкласса Jet, но в super также есть параметры, обоснование которых заключается в том, что super связывает параметры Plane с Jet.

Также здесь интересно то, что в строке 32 есть оператор if с используемым методом функции, но он нигде в коде не определен, или нет? checkWeight определен, но он определен в Plane, а поскольку Jet распространяется на Plane, его можно вызывать с помощью пары ключ-значение.

Как подклассы Javascript могут помочь мне в моем следующем проекте?

Ну, использование подклассов Javascript может…

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

o Улучшение благодаря предотвращению ошибок: подклассы работают более плавно благодаря мгновенному наследованию кода от других классов или реализованных функций и использованию собранной информации для обеспечения работы собственного кода.

o Держите код организованнымС подклассами код может быть более управляемым, если хранить код в других файлах JS. И да! Подклассы могут быть помещены в файл JS и наследовать код от классов в другом файле JS. Это возможно!

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

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