Prototype Pattern
by Artem
JavaScript
'use strict';
function Employee(name = 'Anonymous') {
this.name = name;
this.say = function() {
return `Hello, my name is ${name}!`;
}
}
function EmployeePrototype(proto) {
this.clone = function() {
const employee = new Employee();
employee.name = proto.name;
employee.say = proto.say;
return employee;
};
}
const proto = new Employee();
const prototype = new EmployeePrototype(proto);
const employee = prototype.clone();
employee.name = 'Artem';
console.log(employee);