2014-02-27 30 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对象。