Об’єкт в javascript, функція-конструктор і прототип
контент переїхав з фрагментів в статті

За оператором new необхідно вказати ім'я функції-конструктора; дана функція-конструктор виконує ініціалізацію властивостей об'єкта.
У функцію-конструктор передається ключове слово this. яке посилається на щойно створений об'єкт.
Прототип - це значення властивості prototype функції конструктора. Кожна функція має властивість prototype. дане властивість посилається на визначений об'єкт-прототип. Цей об'єкт працює тільки в тому випадку, якщо функція використовується як конструктор, тобто спільно з оператором new.
Кожен об'єкт має властивість constructor; це властивість посилається на функцію-конструктор, яка, як говорилося вище, виконує ініціалізацію властивостей об'єкта.
Як бачите, властивість r_method завжди посилається на незмінну (на відміну від властивостей, які є унікальними для кожного об'єкта) функцію. Тому раціональніше додати її до прототипу. Ми можемо зробити простий висновок: об'єкт-прототип підходяще місце для констант і методів. Так як будь-який об'єкт успадковує властивості свого прототипу, то наша функція (r_method) автоматично додасться всіх об'єктах, ініціалізувати конструктором (example_constr).
Призначення конструктора - створити новий об'єкт, встановити і повернути його в якості значення конструктора.
Ім'я конструктора зазвичай є іменником, пишеться з великої літери і описує конструюються об'єкт. Конструктори, як правило, використовують для створення об'єктів, що відповідають одним шаблоном.
Приклад створення об'єкта,
визначення конструктора,
і установка властивості для прототипу:
доповнення:
Щоб створити власний конструктор, досить описати функцію, в якій ключове слово this буде посилатися на об'єкти (які створюються за допомогою функції конструктора). Дивіться вище на прикладі example_constr.
console.dir
Для того щоб створювати об'єкти одного типу використовують функції-конструктори. Відмінність конструктора від звичайної функції в тому, що конструктор викликається через спеціальний оператор new.
При використанні new в функції-конструкторі return може повернути тільки об'єкт, причому цей об'єкт замінить повертається за замовчуванням об'єкт this.
Приватний змінні і функції
У функції-конструктора можуть бути як приватні дані (такі дані зовнішній код може отримати, але змінити не може), так і публічні.