Rolf b: Namensräume in JavaScript

Beitrag lesen

problematische Seite

Hallo,

ich finde den Gedanken gut, dass man auch im Tutorial-Bereich auf die Probleme hinweist, die durch das Vermüllen des globalen Namensraums entstehen. Die Frage ist nur, wo man die Grenze zieht. Objekte als Namespace-Container zu nutzen gehört in den Artikel. Vielleicht könnte man auch noch auf das leere Objektliteral {} als Alternative zu new Object() eingehen, und auf die Container = Container || {} Methode, um sicherzustellen, dass der Namespace-Träger existiert ist.

SelfHTML = SelfHTML||{};
SelfHTML.Scripts = SelfHTML.Scripts || {};
SelfHTML.Scripts.DemoFunc = function() { return "Huhu"; };

Am Übergang zum Modulpattern und IIFEs würde ich aber die Grenze ziehen, weil hier eine Überschneidung mit anderen Artikeln beginnt. Namespaces dienen der Säuberung des global space, Module dienen zur Kapselung privater Dinge. Mit diesem Hinweis sollte man dann nur noch auf den Artikel "Module und Kapselung" weiterverweisen.

Gruß Rolf