Re:Classes are Expressions
by braythwayt on Thursday June 04, 2015 @02:47PM
(#9661262)
Writing this[rename](...) instead of this.rename(...) is hardly onerous.
Your solution mostly works, but a simpler one takes advantage of combining computed property keys and compact method syntax:
Okay, now this certainly feels better than my example and is much more bulletproof than prefixing function names with `_`, thanks.
Re:Classes are Expressions
by mikegerwitz on Thursday June 04, 2015 @02:54PM
(#9661298)
You wouldn't be able to simply; the same issues exist as in ES3 in this regard.
(I wrote about them extensively years back here: http://mikegerwitz.com/papers/coope/coope.pdf.)
I don't particularly like this solution, because now I can't just write `this.rename()` in other Person functions. That's why I'd rather have a baked-in way to define private properties & functions instead of having to use (in my opinion) this weird syntax and later explain the whys and hows to other developers.