«В JavaScript объекты - это король. Если вы разбираетесь в объектах, вы понимаете JavaScript ». -W3schools.com. Если вы изучаете JavaScript, вы рано или поздно столкнетесь с объектами, и, надеюсь, прочитав это, вы будете готовы к ним.

ОБЪЕКТЫ

Объекты в JavaScript можно рассматривать как переменные, они могут содержать данные, но вместо одного значения данных они могут содержать несколько различных типов. Объекты - это контейнеры для именованных значений, называемых свойствами. Значения записываются как пары имя: значение, и каждая пара разделяется запятой. Помимо обычных свойств, объект также может иметь методы. Методы - это свойство с определением функции, это действия, которые могут быть выполнены с объектом, в котором оно содержится. Вместо того, чтобы быть записанным как пара `имя: значение`, метод будет именем функции, скобками, если у вас есть параметры и фигурные скобки, которые будут содержать все, что будет делать функция. В приведенном ниже примере показан шаблон объекта, правильное использование свойств, методов и вызов метода объекта. В методе объекта вы увидите, что я использую ключевое слово this, для получения дополнительной информации вы можете перейти сюда.

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

ЗАВОДСКИЕ ФУНКЦИИ

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

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

Как видите, мы создали объекты, которые имеют тот же формат и значение, что и предыдущие, но сохранили так много строк кода.

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