2014-02-27 33 views
2

當我使用[]時,表達式被編譯爲cljs.core.PersistentVector.EMPTY,看起來像所有表達式[]都映射到同一個對象。我已經讀過,我shouldn't use new Array()。那還值得關注嗎?在Clojurescript中創建一個新數組

由於我打算在此數組上調用aset,因此每次調用時都需要一個新對象。我會怎麼做?

+0

也許有了一些代碼,即使它是JS我們可以幫助你更好地看到clojurescript中的慣用方式 – Joaquin

回答

4

除非你正在做JavaScript互操作,你應該只使用持久性向量。如果你真的需要製作一個陣列,你可以使用(array)

7

現在在ClojureScript中有相當整齊的符號。你可以輸入#js [],編譯器會把它當作原生JS數組。與對象一起工作,如下所示:#js {:one 1 :two 2}。這樣的東西將被編譯爲裸露的JS對象。