2016-04-15 10 views
2

私は次のHTML文書の要素を持っており、DOMがロードされていると仮定します。私はClojureのClojureScriptの一重引用符と二重引用符の違いは何ですか?

(def my-element (.getElementById js/document 'myUnorderedList')) 

で次のコードを実行すると

<ul id='myUnorderedList' /> 

my-elementの値はnilです。

しかし、これは動作します:

(def my-element (.getElementById js/document "myUnorderedList")) 

すなわちmy-element#object[HTMLUListElement [object HTMLUListElement]]の値を持ちます。

(def my-element (.getElementById js/document "myUnorderedList")) 

私の質問は:ClojureScriptでの単一引用符識別子と二重引用符の違いは何ですか?

答えて

5

ClojureとClojureScriptには、一重引用符で囲まれた識別子はありません。文字列を作成するには、二重引用符を使用する必要があります(たとえば、JavaScriptでは開き、引用符が一致するかぎり、いずれかを使用できます)。

'myUnorderedList'で作成したものは、シンボルが先頭の一重引用符で作成されているため、記号myUnorderedList'です。 ここでシンボルの詳細を読むことができます:

http://clojure.org/reference/data_structures#Symbols

関連する問題