dedlfix: Variablen im globalen Namensraum

Beitrag lesen

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.