function createCounter(start = 0) {
let count = start;
return {
increment() { count++; },
value() { return count; },
};
}
const c = createCounter(10);Factory functions can capture private state via closures.
Factory-created objects can have methods, not just properties.
Challenge: Implement a createButton(label) factory that returns an object with:
label propertyclick() method that returns 'button clicked'getText() method that returns the labelExample:
const btn = createButton('Submit')
btn.label // 'Submit'
btn.click() // 'button clicked'
btn.getText() // 'Submit'