Clojure 我应该使用e.target.value访问属性吗?

Clojure 我应该使用e.target.value访问属性吗?,clojure,clojurescript,Clojure,Clojurescript,中描述了访问clojurescript属性的官方和受支持的语法。例如: (.-myprop obj) 然而,我看到一些代码使用这个 (defn get1 [my] my.e.target.value) …它还成功编译为普通和简单的属性访问。就像“官方”版本一样: (defn get2 [my] (.. my -e -target -value)) 我可以/应该用它吗?(我更喜欢前一种语法) 我可以想到的一个缺点是语义不同,代码分析工具可能无法工作。您应该使用点运算符和变体来访问

中描述了访问clojurescript属性的官方和受支持的语法。例如:

(.-myprop obj)
然而,我看到一些代码使用这个

(defn get1 [my]
   my.e.target.value)
…它还成功编译为普通和简单的属性访问。就像“官方”版本一样:

(defn get2 [my]
   (.. my -e -target -value))
我可以/应该用它吗?(我更喜欢前一种语法)


我可以想到的一个缺点是语义不同,代码分析工具可能无法工作。

您应该使用点运算符和变体来访问Js interop,因为它是惯用的方式,并且允许您区分属性访问和函数调用,而您不需要使用/

该语法用于访问命名空间值(如
js/Array
closure.string/split
sample.until/inspect
),不应用于互操作目的。

通过:

David Nolen的评论说,它将保留并得到支持,因此可以安全使用