バリケンのJavaScript日記 RSSフィード

2006-11-03

[] ハッシュKey変数名として不正な文字列を使う  ハッシュのKeyに変数名として不正な文字列を使う - バリケンのJavaScript日記 を含むブックマーク はてなブックマーク -  ハッシュのKeyに変数名として不正な文字列を使う - バリケンのJavaScript日記  ハッシュのKeyに変数名として不正な文字列を使う - バリケンのJavaScript日記 のブックマークコメント

前も書いたけど、JavaScript変数名は「アルファベットかアンダースコアかドル記号から始まり、続く文字は数字もOK。大文字、小文字を区別する」んだったよね。

じゃあ、ハッシュKeyとして変数名としては不正な文字列を使ったらどうなるんだろう?

$ smjs
js> load("prototype.js");
prototype.js:834: ReferenceError: document is not defined
js> var hash = $({ });
js> hash["1234"] = "number";
number
js> hash.1234
4: SyntaxError: missing ; before statement:
4: hash.1234
4: ....^
js> hash["#!"] = "shebang";
shebang
js> hash.#!
6: missing name after . operator:
6: hash.#!
6: .....^
6: SyntaxError: illegal character:
6: hash.#!
6: .....^
js> hash["1234"]
number
js> hash["#!"]
shebang
js> ^C
$

へええ、変数名としては不正な文字列でも、ハッシュKeyとして使うことができるんだね。

トラックバック - http://javascript.g.hatena.ne.jp/muscovyduck/20061103