We need to provide APIs that allow some degree of reasoning about symbols. Something along the lines of: JSValueRef JSValueToPropertyKey(JSContextRef ctx, JSValueRef key, JSValueRef* exception); bool JSValueIsPropertyKey(JSValueRef key); // Generally useful uint64_t JSValueHashValueForKey(JSValueRef); // Hash values are useful. They really are. Should be distinct from pointer. Implies need for: bool JSValueKeysEqual(JSValueRef, JSValueRef); // naming???
<rdar://problem/48270650>