basyura's blog

あしたになったらほんきだす。

配列の添字プロパティ

[]添え字演算子は、与えられた式を、もしその式に toString メソッドが存在するならそれを使って文字に変換し、その文字列をプロパティ名として利用する。

var list = ["a" , "b" , "c"];
for (v in list) { print(v + " -> " + typeof(v)) }
// 0 -> string
// 1 -> string
// 2 -> string

list["0"] //=> "a"
list["1"] //=> "b"
list["2"] //=> "c"

なんでこういう仕様なんだろう。