On Fri, Jul 25, 2014 at 4:53 PM, Tab Atkins Jr. <jackalm...@gmail.com> wrote:
> On Fri, Jul 25, 2014 at 1:35 PM, Rick Waldron <waldron.r...@gmail.com> > wrote: > > On Fri, Jul 25, 2014 at 4:29 PM, Tab Atkins Jr. <jackalm...@gmail.com> > > wrote: > >> Ah, so you've got a "private" variable (declared in a closure) that > >> you want to share with other objects which aren't created in the same > >> closure. > >> > >> This is what Symbols/WeakMaps were made for. > > > > I'd be interested to see what your approach would be—afaict, this would > > require exposing the Symbol or WeakMap to whatever scope the foreign > object > > is defined in and then there's no point in using either. > > Yeah, upon actually walking through my desired example, I found that > the Symbol/Weakmap is irrelevant. Here's what I was thinking, using > only existing stuff: > > ``` > (function(){ > var shared1; > > function ForeignObject() { /* Uses shared1 somehow */ } > > ForeignObject.setSharedSecret(val) { > shared1 = val; > } > })(); > > (function(){ > var shared2 = "the real secret"; > > function MyObject() { /*...*/ } > > MyObject.exposeSharedSecret(cb) { > cb(shared2); > } > })(); > > MyObject.exposeSharedSecret(ForeignObject.setSharedSecret); > Neither of these objects is in scope here. Rick
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss