While I was admiring the pros of its mutation, I overlooked how unclear it was that a mutation was even occurring... Anyway, thanks for the clarification.
/Rick On Nov 11, 2011, at 8:22 PM, David Herman <dher...@mozilla.com> wrote: > On Nov 11, 2011, at 4:18 PM, Rick Waldron wrote: > >> Dave, if nesting were out of the question and monocle-mustache operator >> always looked like an object literal as they currently exist, would it still >> be as vile? With that form, I'm a big fan. > > I'm of multiple minds (a condition I'm gradually getting accustomed to). > > 1) I'm really against the current syntax, because it hides the fact that it's > a mutation. Assignments masquerading as declarative forms bring out Angry > Dave (you wouldn't like me when I'm angry...) > > 2) I like it better if it includes "=" in it, e.g.: > > obj .= { foo: 1, bar: 2 }; > > 3) But that makes me really wish for a more general expression form, so I > could also do e.g.: > > obj1 .= obj2; > > I've even written up a strawman for it: > > http://wiki.ecmascript.org/doku.php?id=strawman:batch_assignment_operator > > 4) Allen has pointed out that this is problematic for private names. For many > use cases, it'd be fine if .= just didn't copy any private names -- done. But > Allen's class pattern wanted to be able to specify private names. So he > restricted the RHS to look like a literal. > > 5) Still, I have to say, the restricted RHS just seems ad hoc and > unsatisfying. > > Anyway, I'm still mulling. > > Dave > _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss