I'm trying to implement the Revealing Module Pattern but I'm unable to expose a modified private property.
var myRevealingModule = (function(){
var name = 'Diogo';
function setName () {
name = name + ' Cardoso';
}
return {
fullName: name,
set: setName
};
}());
// Sample usage:
myRevealingModule.set();
console.log(myRevealingModule.fullName); // "Diogo" instead of the excepted "Diogo Cardoso".
return {
fullName: name,
set: setName
};
That uses the values of name
and setName
. It does not create a reference to the variable. Effectively, name
is copied.
You need to create a corresponding getName
method, to take advantage of closures so that you can keep a reference to a variable.