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

Конструкторы

  • Конструкторы - это общие функции JavaScript, которые используются с ключевым словом «new». В JavaScript конструкторы бывают двух типов: встроенные конструкторы (массив и объект) и пользовательские конструкторы (определяют свойства и методы для конкретных объектов).

Рассмотрим приведенные выше примеры - оба написаны по-разному, но по сути являются одним и тем же. Функция «Animal ()» - это конструктор объекта, а его свойства и методы, то есть «собака», объявляются внутри него путем вывода его с помощью ключевого слова «this». Объекты, определенные с помощью конструктора объектов, затем становятся мгновенными с помощью ключевого слова «новый».

Когда вызывается new Animal (), JavaScript делает две вещи:

  1. Он создает новый объект (экземпляр) Animal () и присваивает его переменной cat.
  2. Он устанавливает свойство конструктора, то есть «кот» объекта, на Animal.

Object.create ()

  • Object.create()method используется для создания нового объекта с указанным объектом-прототипом и свойствами. Он используется для реализации наследования.
  • Он принимает два аргумента и записывается как:
    Object.create(prototype, propertiesObject)
    Прототип: объект-прототип, из которого должен быть создан новый объект. Это должен быть объект или значение null.
    PropertiesObject: O служебный параметр. Свойства, которые будут добавлены к вновь созданному объекту.

Рассмотрим пример выше:
Есть две функции: «животные» и «собака». Создается новый экземпляр собаки с именем «pup», в котором указан прототип и свойство «animals», то есть this.name = «Sammy».

В приведенном выше примере есть две функции: «животные» и «собака». Создается новый экземпляр собаки с именем «pup», в котором указан прототип и свойство «animals», то есть this.name = «Sammy» и this.age = «10». Это потому, что объект dog унаследован от объекта animals.

Вот как вы создаете новый объект в JS, используя Object.create() все время, реализуя наследование прототипов. На следующей неделе я буду обсуждать прототип, так что следите за обновлениями!

Ресурсы, о которых вы можете узнать больше о Object.create(), посетите: