Orlok: Frage zum Wiki-Artikel „JavaScript“

Beitrag lesen

problematische Seite

Hi Gunnar

const counterElement = document.getElementById("click_1");

function updateClickcount(delta) {   

Wenn dir die globale Variable nicht schmeckt, kannste das ganze ja noch in eine(n?) IIFE tun.

Wenn du eh const verwendest, brauchst du keinen IIFE. Dieses Konstrukt hat man verwendet um dem Umstand Rechnung zu tragen, dass Variablen die mit var deklariert werden an den Scope der umgebenden Funktion bzw. des umgebenden Skripts gebunden werden.

Variablen, die mit let oder const deklariert werden, haben aber Blockscope, das heißt, es reicht ein einfaches Block Statement um einen neuen Gültigkeitsbereich zu erzeugen.

{
    const x = 42
}

console.log(x) // Reference Error

Eine weitere Möglichkeit wäre <script type="module">. Die im globalen Scope eines Moduls deklarierten Variablen und Funktionen sind auf diesen Scope beschränkt und leaken nicht in den Scope von anderen Modulen oder Skripten, die gegebenenfalls noch eingebunden sind.

Viele Grüße,

Orlok