欢迎!请参阅关于页面,了解更多关于这是如何工作的信息。
(let [{x :x} '({:x "foo"})] x);; => "foo"
这与工具无关 - 这只是Clojure中解构的方式
user=> (clojure.pprint/pprint (destructure '[{a :a} []])) [map__6 [] map__6 (if (clojure.core/seq? map__6) (if (clojure.core/next map__6) (clojure.lang.PersistentArrayMap/createAsIfByAssoc (clojure.core/to-array map__6)) (if (clojure.core/seq map__6) (clojure.core/first map__6) clojure.lang.PersistentArrayMap/EMPTY)) map__6) a (clojure.core/get map__6 :a)] nil
这个行为特别是因为实现了这个特诊https://clojure.atlassian.net/browse/CLJ-2603
好的,我刚意识到这可能是 shadow-cljs 或我使用的其他下游工具中存在的问题。