✏️11.8 생성자를 팩터리 함수로 바꾸기
leadEngineer = new Employee(document.leadEngineer, 'E');leadEngineer = createEngineer(document.leadEngineer);🧷 배경
🧷 절차
🧷 예시
🧷 리팩터링 전
🧷 리팩터링 후
Last updated
leadEngineer = new Employee(document.leadEngineer, 'E');leadEngineer = createEngineer(document.leadEngineer);Last updated
class Employee {
constructor(name, typeCode) {
this._name = name;
this._typeCode = typeCode;
}
get name() {
return this._name;
}
get type() {
return Employee.legalTypeCodes[this._typeCode];
}
static get legalTypeCodes() {
return { E: 'Engineer', M: 'Manager', S: 'Salesperson' };
}
}
const leadEngineer = new Employee(document.leadEngineer, 'E');function createEmployee(name) {
return new Employee(name, 'E');
}
const leadEngineer = createEmployee(document.leadEngineer);