JavaScriptの配列
2007-05-21に触発されてこの日記を書きます。
さて、PHPの配列のキーとしては整数と文字列のどちらかが利用できます。【中略】
文字列が指定された場合でも、キーに10進数として解釈できる文字列が指定された場合は、文字列から数値にキャストされます(プログラマの型への無知から来る混乱を防ぐための正規化なのでしょうか?)。
これは奇妙な仕様ですね。私はこの仕様は知りませんでした。
JavaScriptの場合とある意味逆ですね。JavaScriptも文字列と数値のインデックスを持てますが、内部的には文字列がキーとして扱われます。a["15"]とa[15]は同じ要素を指しますが、a["15"]とa["015"]は別の要素を指します。
このあたりは、私のホームページ(オブジェクト指向プログラム言語としてのJavaScript)に少し詳しく(易しく)説明しています。下記の3.〜7.が該当する内容です。
ところで、このページ、9年前には、JavaScriptのオブジェクト指向的側面というテーマ自体が目新しかったのですが、その後の変化で内容が古くなってしまいました。いまだに多くの来場があるのに申し訳ない気持ちで一杯です。早々にリニューアルしたいと思っております。はい。