Um in JavaScript, einer nicht unbedingt klassenbasierten Sprache eine Klasse mit “echten” privaten Methoden oder Attributen zu erstellen ist daher nicht Möglich. Aufgrund der prototypischen Beschaffenheit der Sprache lässt sich allerdings vieles aus einer klassichen klassenbasierten Sprache “nachbauen”.

Um eine Klasse mit öffentlichen (public) und privaten (private) Methoden oder Attributen zu erstellen können wir das Konzept der Closures verwenden.

var MyClass = (function() {
    var privateAttribute = "Hello World, I'am private";
    
    // Private Methods
    function privateMethod1(str) {
        return str;
    }
    
    function privateMethod2(str) {
        return str;
    }
    
    // Rückgabe eines Objektliterals
    return {
        var publicAttribute = "Hello World, I'am a public";

        // Public Methods
        publicMethod1: function (str) {
            return str;
        },

        publicMethod2: function (str) {
            return str;
        }
    };
})();

 


0 Comments

Leave a Reply