- Function factories can create form field objects dynamically.
function createFormFieldFactory(type) {
return function(label, value = '') {
return {
type: type,
label: label,
value: value,
getField() {
return { type: this.type, label: this.label, value: this.value };
}
};
};
}
const createTextField = createFormFieldFactory('text');
const createNumberField = createFormFieldFactory('number');
const nameField = createTextField('Name');
const ageField = createNumberField('Age', 30);
console.log(nameField.getField()); // Output: { type: 'text', label: 'Name', value: '' }
console.log(ageField.getField()); // Output: { type: 'number', label: 'Age', value: 30 }