maian330 at gmail.com
Thu Mar 13 09:58:20 PDT 2008
Garrett Smith wrote:
> The order of the boolean parameters is kind of annoying to have to remember.
> Would it be OK to shorten the method?
> obj.__setProperty__("c"); // undefined value
> obj.__setProperty__("c", 2);
> obj.__setProperty__("c", undefined, "dontenum", "readonly");
> obj.__setProperty__("c", undefined, "dontdelete");
Not sure what ES4 policy is on how to pass "flags". Obvious method
should be named parameters, but ES3/4 lack that feature. I also don't
recall any ES3/4 method that uses bitflags (e.g. Object.READ_ONLY |
Object.DONT_DELETE) or any variant of such flags. So that leaves strings
(as you have), or an array of strings, both of which are less efficient.
Hmm, this gives me an idea - more below.
> -- or --
> obj.__setProperty__("c", undefined). // Reference type.
That kind of defeats the purpose of setting all the flags during
assignment, since this would allow you do so after assignment.
Ok, new suggestion based off previous ones:
obj.__setProperty__(prop, value, Object.DONT_ENUM)
obj.__setProperty__(prop, value, Object.READ_ONLY, Object.DONT_DELETE)
obj.__getPropertyAttribute__(prop, Object.READ_ONLY) // returns true or
BTW, names subject to change (could be just DONT_ENUM, or
Object.dontenum, or whatever).
More information about the Es4-discuss