在这种情况下,可行代码从数据角度来看意义不大。
Conj 可以将两个元素的向量连接到地图上,具有精确的语义。将向量列表连接到地图上不应该工作。
换句话说,(conj {} [[:a 1] [:b 2]]) 是可以接受的,因为我们需要连接两个向量的向量,并且结果是 {[:a 1] [:b 2]}
然而,(conj {} '([:a 1] [:b 2])) 不应该可以接受,因为它不是一个向量。
将 '([:d 4]) 仅连接到地图没有任何意义,并且不应该工作,但现在它在 CLJS 中工作。特别是由于 (conj [[:d 4]]) 不工作。
它几乎像是 CLJS 不关心它是元素的列表还是单个元素
(conj {} [[:a 1] [:b 2]] '([:c 3] [:d 4]))
=> {[:a 1] [:b 2], :c 3, :d 4}