在这种情况下,使代码可行几乎没有从数据角度来看的意义。
Conj可以精确地将两个元素的向量添加到映射中。不应该将向量的列表连接。
换句话说,(conj {} [[:a 1] [:b 2]])很好,因为我们正在连接两个向量的向量,结果为{[:a 1] [:b 2]}。
然而,(conj {} '([:a 1] [:b 2]))不应该好,因为它不是一个向量。
而将'([:d 4])仅添加到映射中则完全没有意义,也不应该起作用,但它在CLJS中确实如此。特别是[[:d 4]]的连接不起作用。
CLJS几乎不考虑它是元素的列表还是只是元素
=> {[:a 1] [:b 2], :c 3, :d 4}