Tach!
Gibt's da irgendwelche Strategien, diese Auswüchse im globalen Namensraum zu vermeiden?
Ja, einen Block erstellen.
{
let i = 0;
function foo() {
return i++;
}
}
console.log(foo());
console.log(foo());
console.log(foo());
Somit sitzt nur die Funktion im globalen Namensraum. Eine moderne Alternative ist außerdem Module.
m.js:
let i = 0;
function foo() {
return i++;
}
module.exports = foo;
woanders.js:
const foo = require('./m');
console.log(foo());
console.log(foo());
console.log(foo());
dedlfix.