Конструктор Javascript: как использовать конструктор в Javascript

Конструктор может использовать ключевое слово super для вызова конструктора родительского класса.

Если вы не укажете метод конструктора, значение по умолчанию используется конструктор.

Считается хорошей практикой называть функции-конструкторы первой буквой в верхнем регистре.

способ создать «тип объекта» — использовать функцию-конструктор объекта .

В приведенном выше примере функция Investor () является функцией конструктора объекта.

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

Конструктор Javascript — отличный метод для создания и инициализации объекта, созданного внутри класса. В классе может быть только один конкретный метод с именем «конструктор». Наличие более одного экземпляра метода конструктора в классе вызовет ошибку SyntaxError .

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

 let st2 = new Investor ("Одиннадцать", 15  ); let st3 = new Investor ("Робин", 21); 

# это ключевое слово

В JavaScript, this — это объект, которому « принадлежит » код.

Значение this, при использовании в объекте, является объектом сам.

В функции-конструкторе this не имеет значения. Это замена новому объекту. Значение this станет новым объектом при создании нового объекта.

Вы можете отметить одну вещь, заключающуюся в том, что this не является переменной. Это ключевое слово. Вы не можете изменить значение this .

# Добавление свойства к объекту

Добавить новое свойство к существующему объекту очень просто. См. Следующий код.

 function Investor (name, age) {this.name = name;  this.age = age;} let st2 = new Investor ("Eleven", 15); let st3 = new Investor ("Robin", 21); st2.nationality = 'British'; console.log (st2); 

См. результат.

 ➜ es git: (master) ✗ node appInvestor {имя: 'Eleven', возраст: 15, национальность: 'British'} ➜ es git  : (master) ✗ 

# Добавление метода к объекту

Добавить новый метод к существующему объекту очень просто. См. Следующий код.

 function Investor (name, age) {this.name = name;  this.age = age;} let st2 = new Investor ("Eleven", 15); let st3 = new Investor ("Robin", 21); st2.nationality = 'British'; st2.eleven = function () {return  this.name + 'is' + this.age + 'years old';} console.log (st2.eleven ()); 

См. следующий вывод.

 ➜ es git: (master) ✗ node appEleven 15 лет es git: (master) ✗ 

# Добавление метода в конструктор

Вы также можете определить методы конструктора внутри функции конструктора.

См. следующий пример кода.

 function Investor (name, age) {this.name = name;  this.age = возраст;  this.eleven = function () {вернуть this.name + 'is' + this.age + 'years old';  }} let st2 = new Investor ("Eleven", 15); let st3 = new Investor ("Robin", 21); st2.nationality = 'British'; console.log (st2.eleven ()); 

См. следующий результат.

 ➜ es git: (master) ✗ node appEleven 15 лет es git: (master) ✗ 

Вы не можете добавить новый метод в конструктор объекта так же, как вы добавляете новый метод к существующему объекту. Добавление новых методов в конструктор объекта должно выполняться внутри функции конструктора.

# Встроенные конструкторы JavaScript

JavaScript имеет встроенные конструкторы для нативных объектов, подобных следующему.

 let a1 = new Object (); let a2 = new String (); let a3 = new Number (); let a4 = new Boolean (  ); let a5 = new Array (); let a6 = new RegExp (); let a7 = new Function (); let a8 = new Date (); 

Как видно выше, JavaScript имеет объектные версии примитивных типов данных String , Number , Array и Boolean . Но нет смысла создавать сложные объекты. Примитивные значения работают намного быстрее.

# Конструктор в JavaScript с ES6

В ES6 мы можем создать классы . Если вы пришли из языка ООП, такого как Python или PHP, это будет вам знакомо. Посмотрите на следующий код.

 class StrangerThings {constructor (name, age, networth) {this.name = name;  this.age = возраст;  this.networth = чистая стоимость;  } get detail () {вернуть this.name + '' + this.age + '' + this.networth;  }} const eleven = new StrangerThings ("Millie", 15, 4); console.log (eleven); 

См. следующий вывод.

 ➜ es git  : (мастер) ✗ узел appStrangerThings {имя: 'Милли', возраст: 15, чистая стоимость: 4} ➜ es git: (мастер) pre 

Класс функция создает шаблон, который мы можем использовать для создания объектов позже. Метод constructor () — это специальный метод, вызываемый при создании экземпляра класса StrangerThings.

В стиле ES6

  1. Ключевое слово функции заменяется ключевым словом class.
  2. Есть особая функция с именем ‘constructor’, в которой инициализация объекта выполняется Выполнено. Следовательно, все, что присутствует в теле традиционной функции, превращается в функцию «конструктор». Он вызывается всякий раз, когда создается новый объект этого «класса».
  3. Любой метод, созданный внутри тела класса, и он считается «членом» класса.

Вы можете создать подкласс или дочерний класс, используя ключевое слово extends. Подкласс может добавлять свою логику вместе с данными, унаследованными от «базового» класса.

См. Следующий пример кода..

 class Millie {конструктор (имя) {this.name = name;  } Speak () {console.log (this.name + 'шумит.');  }} class Eleven расширяет Милли {конструктор (персонаж, мощность = 'телекенезис') {супер (персонаж);  this.power = мощность;  } Speak () {console.log ('Британский акцент');  }} let el = new Eleven ('Друзья не лгут'); el.speak (); 

См. следующий результат.

 ➜ es git  : (master) ✗ приложение узла имеет UK Accent➜ es git: (master) ✗ 

Наконец, пример конструктора Javascript завершен.

Оцените статью
nanomode.ru
Добавить комментарий