2014-02-17 2 views
1

Официальные и поддерживаемые синтаксисы для доступа к свойствам clojurescript описаны в http://dev.clojure.org/jira/browse/CLJS-89. Например:Должен ли я использовать e.target.value для доступа к свойствам?

(.-myprop obj) 

Однако я видел некоторые кода использовать это ...

(defn get1 [my] 
    my.e.target.value) 

... который также успешно компилируется в обычный & простой доступ собственности. Точно так же, как в официальной версии:

(defn get2 [my] 
    (.. my -e -target -value)) 

Могу ли я использовать его? (Мне больше нравится прежний синтаксис)

Один из недостатков, о котором я мог думать, заключается в том, что семантика отличается от других, и инструменты анализа кода могут не работать.

ответ

1

Вы должны использовать оператор точки и варианты для доступа к JSP-интерфейсу, поскольку он является идиоматическим способом, а также позволяет различать доступ к свойствам и вызовы функций, которые вы не используете с /.

Этот синтаксис существует для доступа к значениям, находящимся в пространстве имен (например, js/Array, closure.string/split, sample.until/inspect) и его нельзя использовать для взаимодействия.