I am starting with javascript and specially with the OOP pattern.
My question is simple. In a setter, is there a way to keep the same name for the parameter and the private class variable? I have looked everywhere but couldn't find anyone mentioning it, just examples with different var names. I am very picky with my code and I have having to give it two different names.
Taking the example from http://ejohn.org/blog/javascript-getters-and-setters/
function Field(val){
this.value = val;
}
Field.prototype = {
get value(){
return this._value;
},
set value(val){
this._value = val;
}
};
you can see in the setter the parameter is val but the property is actually value. Since it is javascript I cannot simply do this.value=value because "this" would make it public. value=value would refer both to the parameter (and would be very weird). Is there really no way to do this? If not, is there any "best practice" for this situation? I guess underscore could be valid but I am just picky so just want to make sure there is no other way.
Thank you!