Maciej Stachowiak wrote:
On May 19, 2007, at 4:27 PM, Dean Edwards wrote:
Maciej Stachowiak wrote:
On May 18, 2007, at 10:14 PM, liorean wrote:
On 19/05/07, Ian Hickson <[EMAIL PROTECTED]> wrote:
The "uniqueID" thing is really working around a deficiency in JS
(inability to use objects as keys).
ES4 already has something of the kind. See
<uri:http://developer.mozilla.org/es4/proposals/hashcodes.html>

However, that is not usable in ES3 implementations, which uniqueID is.
The hashcode() function is a library function and could be added to ES3 implementations - I'd be willing to support it for WebKit. It should be noted though that it has the same security/privacy issues as uniqueID:

the DOM API is language agnostic. This feature is too important to leave to scripting language implementations.

To my knowledge, most non-JavaScript programming languages already have facilities for hashing on object identity. This is true at least of C++, Java, Objective-C and C; it also appears to be true of Python, Ruby, Perl and C# as far as I can tell from the docs. What language besides JavaScript are you concerned about?


The future looks bright but it is worth pointing out that none of the two currently available scripting languages support a hash ID. A DOM property will enable those languages (ECMAScript and VBScript) to provide backward compatibility.

Note that hascode() would be more general than uniqueID since it applies even to non-DOM objects; it would still be needed in JavaScript even if uniqueID was added to the DOM.


Agreed. I would use hashCode() if the language allowed it.

-dean

Reply via email to