Jython Phone Interview Advice

George Jempty scriptify at yahoo.com
Wed Mar 16 22:01:05 CET 2005

Jeremy Bowers wrote:
> On Tue, 15 Mar 2005 03:21:19 -0800, George Jempty wrote:
> > I'm noticing that Javascript's array/"hash" literal syntax is
> > same as that for Python lists/dictionaries.
> No it isn't, quite.
> Two differences of note, one literally syntax and one technically not
> you probably still want to know about it.
> First, Javascript objects can only use strings for keys, anything
used as
> a key will be converted to a string. Try this in your browser and
> see what I mean... the "instance" of the "class" I define (let's not
> into prototyping issues here :-) ) has its string value used as the
> not the object:

Perhaps the above assertion applies to native Javascript objects only?!
 Because I've been successful in using host(browser) objects as keys to
associative arrays, namely forms.  This is handy when the form's id
and/or name attribute have not been set.  I was concerned that
identical forms would be equal, but then I proved that was not the case
with the following test:

<input type="submit" onclick="alert(document.forms[0] ==

This results in false.  Am cross-posting the rest of this message in
it's entirety to comp.lang.javascript.

> javascript:function a(){}; a.prototype.toString = function () {return
> 'q';}; b = new a(); c = {}; c[b] = 1; alert(c['q'])
> (All one line, if your browser objects to the newline.)
> The other is the syntax point: The strings you use in {} expressions
> denote keys are used literally, they are not resolved. Thus, in the
> I *had* to write
> c = {};
> c[b] = 1;
> Because had I written
> c = {b: 1}
> I would have ended up with an object where c['b'] == 1; Javascript
> not resolve the "expression", 'cause it isn't one.
> (That said, certain reserved words like "class" and such do have to
> quoted, which means the safe bet is to quote them all, which leads to
> Javascript objects that look identical to Python dicts. But
> {1+2: "moo"}
> will end up different in each language.}

More information about the Python-list mailing list