𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀
Функция-конструктор — это шаблон для объектов. Используйте её для создания множества объектов с одинаковой структурой.
Как это работает:
Вы используете ключевое слово new для вызова функции-конструктора. Этот процесс выполняет четыре действия:
- Создает пустой объект.
- Устанавливает
thisтак, чтобы он указывал на этот новый объект. - Выполняет код внутри функции.
- Возвращает новый объект.
Пример кода:
function Employee(name, salary) {
this.name = name;
this.salary = salary;
}
const emp1 = new Employee("Saravanan", 50000);
Правила, которых следует придерживаться:
- Начинайте имена функций с заглавной буквы.
- Используйте
thisдля присвоения свойств новому объекту.
Роль this:
Внутри конструктора this ссылается на конкретный создаваемый объект. Например, this.name = name присваивает значение параметра свойству объекта.
Добавление методов:
Вы можете добавлять функции внутрь конструктора, чтобы каждый объект мог ими пользоваться.
function Employee(name, salary) {
this.name = name;
this.salary = salary;
this.displayInfo = function() {
console.log(this.name + " earns " + this.salary);
};
}
Эффективность использования памяти:
Если вы добавляете методы напрямую в конструктор, каждый объект получает свою собственную копию. Это потребляет больше памяти.
Вместо этого используйте прототип. Добавление метода в прототип позволяет всем объектам использовать одну и ту же копию.
Employee.prototype.greet = function() {
console.log("Hello " + this.name);
};
Итог:
- Используйте объектные литералы для создания одного объекта.
- Используйте функции-конструкторы для создания множества объектов с одинаковой структурой.
Источник: https://www.w3schools.com/js/js_object_constructors.asp Источник: https://www.geeksforgeeks.org/javascript/javascript-function-constructor/ Источник: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
Ссылка на пост: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k