# Constructor паттерн в Javascript

poster
В этом видео мы разберем такой паттерн, как конструктор. Это, наверное, самый часто применяемый паттерн и многие используют его каждый день, даже не задумываясь, что это паттерн.
Понравилось? Поделитесь с друзьями!
Понравилось?
Поделитесь с друзьями!
Комментарии
Текст видео

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

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

Давайте с вами создадим класс на es6.

class Person {
  constructor (name, age, country) {
    this.name = name
    this.age = age
    this.country = country
  }
}

Мы создали класс и описали в нем конструктор, который принимает имя, возраст и страну. И все аргументы, которые мы получили мы присвоили в this.

Теперь когда мы напишем

const person1 = new Person('John', 20, 'RU')
console.log('person1', person1)

Мы получаем новый экземпляр класса.

Это и есть паттерн конструктор. Описав конструктор для класса, который позволяет нам создавать новые объекты, мы применили паттерн constructor.

Но, так как классов в javascript нет, и это всего лишь обертка над prototype, то давайте напишем тот же самый конструктор без es6.

function Person(name, age, country) {
  this.name = name
  this.age = age
  this.country = country
}
const person1 = new Person('John', 20, 'RU')
console.log('person1', person1)

В этом случае мы создали обычную функцию в javascript. Но когда мы вызываем ее, не как функцию, а используя слово new, то этим самым мы говорим javascript, что мы хотим, чтобы наша функция вела себя как конструктор и создавала нам новые экземпляры классов.

Если у вас возникли какие-то вопросы или комментарии, пишите их прямо под этим видео.

Только зарегистрированные пользователи могут оставлять комментарии.  Войдите, пожалуйста.
Артур Владимирович
1год назад назад
Спасибо за паттерн! Поправьте ec6 на es6=) Появились идеи как забирать текст из git репозитория?) Ещё в комментариях этой статьи слетела мобильная верстка из-за длиной ссылки, word-wrap:break-word должен помочь;)
monsterlessons
1год назад назад
На здоровье. ес6 исправил. Идей пока не появилось, так как другие проекты отнимают все время. Спасибо, что написали, что проблема в комментариях. Так как word-wrap не помог, буду на выходных разбираться и фиксить.
Sergey Illarionov
1год назад назад
А паттерн ли это вообще в полном смысле этого слова? Может это просто: https://ru.stackoverflow.com/a/446363/33534 или полное описание https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor
monsterlessons
1год назад назад
В списке javascript паттернов это считается паттерном.
Sergey Illarionov
1год назад назад
Так или иначе, но спасибо большое за видео.