title: Why can I not access this JS object's props in ClojureScript?
body: <p>I'm debugging some code, and have boiled my problem down to this one simple example:</p>
  
  <pre><code>(js/console.log (.-hey (clj-&gt;js {:hey "please work!"})))
  </code></pre>
  
  <p>prints <code>undefined</code></p>
  
  <p>It must have something to do with renaming during advanced optimizations, but I can't figure out what's going on, nor how to fix it...</p>
  
  <p>If you use an online CLJS REPL, like <a href="http://clojurescript.net/" rel="nofollow">http://clojurescript.net/</a>, it works as expected (returns <code>nil</code> but prints <code>please work!</code>), but under advanced optimizations using <code>cljsbuild</code>, it doesn't work at all!</p>
  
  <p>Hrmm, any idea where I'm botching this up?</p>
  
  <p><strong>Edit:</strong>
  Upon further reflection, and some advice from clojurians on slack, this is because the optimization mangles the keywords, I think, when I use <code>clj-&gt;js</code>.</p>
  
  <p>I find that I (think) I need to do this though since I'm trying to interop with the D3.js library (from cljsjs), and when I pass it things, it's expecting <code>js</code> objects, not <code>cljs</code> objects. Is there an idiomatic way of passing in cljs objects to a js library that you're interoping with? (If that is indeed my problem?)</p>