Why variable "OnDone" stays unmodified inside factory scope?
const foo = () => {
let OnDone = null;
const Do = function() {
console.log(OnDone);
if (typeof OnDone === 'function')
OnDone();
}
return {
Do,
OnDone
};
}
let f = foo();
f.OnDone = () => {
console.log('OnDone');
};
f.Do();
Outputs null. https://jsfiddle.net/xe4j9hmc/6/