Fully agree, thank you for helping me.

W dniu piątek, 29 sierpnia 2014 20:37:30 UTC+2 użytkownik Francis Avila napisał:
> There's no question that it's allowed. You can use js/a.b.c
> 
> 
> 
> However, it is *less idiomatic* because there's no analogous construct in 
> Clojure (not ClojureScript) code. In Clojure, a symbol referencing a var in a 
> namespace will only ever have a name part without dots.
> 
> 
> 
> The fact that the CLJS-445 patch to warn on dotted name parts of "js/name" 
> constructs was initially accepted by Nolan in the first place is itself 
> evidence that this construct is less idiomatic.
> 
> 
> 
> Either way it's not a big deal. No one is going to get too upset if you use 
> js/a.b.c instead of (.. js/a -b -c)
> 
> 
> 
> On Friday, August 29, 2014 12:37:32 PM UTC-5, Rafal Spacjer wrote:
> 
> > On the other hand, I've found this JIRA bug: 
> > http://dev.clojure.org/jira/browse/CLJS-455
> 
> > 
> 
> > 
> 
> > 
> 
> > with the comment of David Nolen:
> 
> > 
> 
> > "This patch creates issues around using constructors provided by libraries 
> > outside ClojureScript and GClosure. Also from Rich's original commit 
> > support js prefix, it seems like JS style access after the / was actually 
> > intended"
> 
> > 
> 
> > 
> 
> > 
> 
> > so maybe using dots after js/ is allowed
> 
> > 
> 
> > 
> 
> > 
> 
> > W dniu piątek, 29 sierpnia 2014 07:09:36 UTC+2 użytkownik Rafal Spacjer 
> > napisał:
> 
> > 
> 
> > > Sounds good, thank you. Of course I agree, that using dots (like in 
> > > "(js/console.log x)") is faster to write.
> 
> > 
> 
> > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > W dniu czwartek, 28 sierpnia 2014 23:45:55 UTC+2 użytkownik Francis Avila 
> > > napisał:
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > Avoid dots in the name part of symbols. "js/a.b.c" works to reference 
> > > > "a.b.c" by value (i.e. without calling it), but it's not idiomatic. 
> > > > Prefer (.. js/a -b -c), or using your examples:
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > (.. js/Foo -Bar -Foo2 -myProperty)
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > (.. js/Foo -Bar -Foo2 myMethod)
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > The "js" pseudo-namespace is special because it emits the symbol as 
> > > > normal js property access, but if it were a *real* namespace there 
> > > > would be no dotted symbols in it. (That said, I cheat all the time e.g. 
> > > > with "(js/console.log x)".)
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > On Thursday, August 28, 2014 3:22:53 PM UTC-5, Rafal Spacjer wrote:
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > Hello,
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > I' curious what is a preferable way of accessing properties or 
> > > > > methods in nested JavaScript "namespaces".
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > Lets assume that external library define such property:
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > Foo.Bar.Foo2.myProperty in global namespace.
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > what is idiomatic way of accessing 'myProperty':
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > (.-myProperty js/Foo.Bar.Foo2)
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > or
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > (.. js/Foo -Bar -Foo2 -myProperty)
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > Same question for a method, if we have such statement:
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > Foo.Bar.Foo2.myMethod();
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > 
> 
> > 
> 
> > > 
> 
> > 
> 
> > > > > how should we invoke 'myMethod'? Is this correct: (.myMethod 
> > > > > js/Foo.Bar.Foo2) ?

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to