On Nov 2, 2009, at 2:34 AM, [email protected] wrote:
I like to use getter and setter on private objects (e.g. "var test").
That is very unclear; I'm guessing you mean getters and setters
instead of plain variables in closures used to store private data.
I didn't found any way to do this. I don't need sth. like
Object.definePrivateProperty, because I only want to set getter and
setter when I define the private object.
Example proposal:
var test;
get test = function() { [..] };
set test = function(newval) { [..] };
I'll be pleased to hear your feedback.
Defining accessors on an activation object is nasty, it makes
analyzing for effects hard (consider the arguments object, which is an
indirect accessor -- both get and set -- of formal parameter values).
I doubt we'll ever standardize any such thing; Mozilla would not
implement it even experimentally.
If you want private getters and setters, you can put them in an object
denoted by a private var:
function make() {
var obj = {
get test() /* cheap fetch of x here */,
set test(x) /* cheap update from x here */
};
function validate(x) { /* expensive check of x here */ }
return {
get test() { return obj.test; },
set test(x) { validate(x); obj.test = x; }
// etc.
};
}
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss