Я использую ClojureScript для получения уровня заряда батареи с помощью:
navigator.battery.level
Что отлично работает при использовании простой оптимизации и оптимизации пробелов. Но при использовании режима расширенной оптимизации приведенное выше превращается в:
navigator.hd.rd
И вызывает TypeError, поскольку navigator.hd не определен.
Как я могу это исправить?
ИЗМЕНИТЬ:
Исправлено благодаря ответу ниже. Хотя в ClosureScript мне пришлось бы делать какие-то неприятные, вложенные, агеты... Так что я придумал это:
(defn jget [jobject & props]
(loop [obj jobject
p (map name props)]
(if (not (empty? p))
(let [prop (aget obj (first p))]
(recur prop (rest p)))
obj)))
затем назвал это так:
(jget js/navigator :battery :level)
Если для этого уже есть инструменты, может кто-нибудь, пожалуйста, дайте мне знать.