gpt4 book ai didi

ClojureScript 互操作

转载 作者:行者123 更新时间:2023-12-03 23:32:43 28 4
gpt4 key购买 nike

我试图找出如何访问 ClojureScript 中的 Javascript 对象属性。如果我事先知道属性(property)的名称,那就很容易了。获取foo.bar我只是做

(.-bar foo)

Is there a way to access a property whose name is known only at runtime? I am looking for the equivalent of the JS syntax foo[dynamicBar]

最佳答案

您可以使用 aget/aset 访问仅在运行时已知的属性。

;; Use clj->js to convert clj(s) map to javascript.
;; Note the #js {:bar 100} reader literal indicating a js map.

cljs.user> (def foo (clj->js {:bar 100}))
#js {:bar 100}
cljs.user> (.-bar foo)
100
cljs.user> (aget foo "bar")
100
cljs.user> (aset foo "baz" 200)
200
cljs.user> (.-baz foo)
200

关于ClojureScript 互操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9861485/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com