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 clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to