将 Monstrous JavaScript 代码转换为优雅的 Clojurescript 代码
Converting Monstrous JavaScript code to elegant Clojurescript code
我有这么糟糕的JavaScript代码
response.items[0].fields.image.fields.file.url
我可以将其转换为 ClojureScipt 映射,但要访问该字段,我将不得不输入可怕的不可读访问。
有没有办法做到既漂亮又优雅?
(-> (aget (.-items response) 0)
(.. -fields -image -fields -file -url))
或者如果您已将其转换为 Clojure 数据结构:
(-> response :items first :fields :image :fields :file :url)
我推荐使用 cljs-oops 库。它支持嵌套 "selectors" 对象图,例如:
(oget o "k3.?k31.k311")
(oget o "k3" "?k31" :k311)
(oget o ["k3" "?k31" "k311"])
(oget o [["k3"] "?k31"] "k311")
我有这么糟糕的JavaScript代码
response.items[0].fields.image.fields.file.url
我可以将其转换为 ClojureScipt 映射,但要访问该字段,我将不得不输入可怕的不可读访问。 有没有办法做到既漂亮又优雅?
(-> (aget (.-items response) 0)
(.. -fields -image -fields -file -url))
或者如果您已将其转换为 Clojure 数据结构:
(-> response :items first :fields :image :fields :file :url)
我推荐使用 cljs-oops 库。它支持嵌套 "selectors" 对象图,例如:
(oget o "k3.?k31.k311")
(oget o "k3" "?k31" :k311)
(oget o ["k3" "?k31" "k311"])
(oget o [["k3"] "?k31"] "k311")