 <p>You can coerce a CF type to an NS type by first re-binding the CFMakeCollectable function so that it takes 'void *' and returns 'id', and then using that function to perform the coercion:</p> <pre><code>ObjC.bindFunction('CFMakeCollectable', [ 'id', [ 'void *' ] ]); var cfString = $.CFStringCreateWithCString(0, "foo", 0); // =&gt; [object Ref] var nsString = $.CFMakeCollectable(cfString); // =&gt; $("foo") </code></pre> <p>To make this easier to use in your code, you might define a .toNS() function on the Ref prototype:</p> <pre><code>Ref.prototype.toNS = function () { return $.CFMakeCollectable(this); } </code></pre> <p>Here is how you would use this new function with a CFString constant:</p> <pre><code>ObjC.import('CoreServices') $.kUTTypeHTML.toNS() // =&gt; $("public.html") </code></pre>