http://dev.clojure.org/jira/browse/CLJS-89中描述了访问clojurescript属性的官方和支持语法。例如:
(.-myprop obj)
但是,我看到一些代码使用了这个......
(defn get1 [my]
my.e.target.value)
...也成功编译成普通&简单的财产访问。就像“官方”版本一样:
(defn get2 [my]
(.. my -e -target -value))
可以/我应该使用它吗? (我更喜欢以前的语法)
我能想到的一个缺点是语义不同,代码分析工具可能不起作用。
答案 0 :(得分:1)
您应该使用点运算符和变量来访问Js互操作,因为它是惯用的方式,并且它还允许您区分属性访问和函数调用,而不是/。
该语法用于访问命名空间值(例如js/Array
,closure.string/split
,sample.until/inspect
),不应将其用于互操作目的。
答案 1 :(得分:1)