Прежде чем переходить к шаблонам классов, давайте посмотрим, как функции определяются и используются в javascript.

Объявления функций и Выражения - это способы определения функций для объектов в JavaScript. Основное различие между ними - подъем. Объявления поднимаются функцией, тогда как выражения поднимаются переменной.

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

Объявление функции можно использовать или вызывать даже до его определения, но выражение функции можно вызывать только после его определения. он отображается как переменная со значением undefined.

перейдем к шаблонам занятий ...

Программисты на JavaScript могут определять класс даже без использования ключевого слова class !!! у нас есть несколько шаблонов для определения и использования концепций класса OOPS.

  1. Заводской шаблон функции
  2. Функциональный шаблон конструктора
  3. Паттерн на основе прототипа
  4. с использованием ключевого слова класса

Заводской шаблон функций: -

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

Конструктор Функциональный образец: -

В этом шаблоне ключевое слово new используется для создания объектов.

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

В приведенном выше примере переменные name, city и метод getDetails являются общедоступными, поскольку они присвоены ключевому слову this, переменной area, age и метод checkAge являются частными, потому что они не назначены этому ключевому слову. this и новые ключевые слова - суть этого шаблон.

Шаблон на основе прототипа: -

Шаблон прототипа создает новые объекты, но вместо создания неинициализированных объектов он возвращает объекты, которые инициализированы значениями, скопированными из объекта-прототипа. Шаблон прототипа также называется шаблоном свойств. переменные добавляются к ключевому слову this, оно будет доступно для методов, использующих ключевое слово this.

Методы хранятся в свойстве class.prototype.

ключевое слово класса: -

Ключевое слово class используется для определения объявления и выражения класса. Основное различие между объявлениями функций поднимается, тогда как объявления классов не поднимаются. так что у вас есть использование после определения класса.

конструктор используется для создания и инициализации объектов. на определение класса должен быть только один конструктор.

Не стесняйтесь комментировать свои предложения.

Спасибо!!!

Ссылка:-