Kann ich eine durch Schließung definierte "Klasse" in Javascript "erweitern"?

Ich habe eine Javascript "Klasse" wie folgt definiert:

var Welcomer = function(name) {
  var pName = name;
  var pMessage = function() {
    return "Hi, " + pName + "!";
  };

  return {
    sayHi: function() {
      alert(pMessage());
    }
  };
};

new Welcomer('Sue').sayHi();

Ist da ein Weg zur "Unterklasse"Welcomer so, dass ich die öffentlichen Methoden neu definieren und auf die privaten Methoden und Variablen zugreifen kann? Das Folgende gibt mir Zugang zu den öffentlichen Methoden, aber nicht zu den privaten:

var UnhappyWelcomer = function(name) {
  var pSadMessage = function() {
    // won't work, b/c I don't have access to pMessage
    return pMessage() + " Miserable day, innit?";
  };

  return {
    sayHi: function() {
      alert(pSadMessage());
    }
  };
};
UnhappyWelcomer.prototype = Welcomer(); // failed attempt at inheritance

new UnhappyWelcomer().sayHi();

Antworten auf die Frage(6)

Ihre Antwort auf die Frage