JavaScriptの配列

2007-05-21に触発されてこの日記を書きます。

さて、PHPの配列のキーとしては整数と文字列のどちらかが利用できます。【中略】
文字列が指定された場合でも、キーに10進数として解釈できる文字列が指定された場合は、文字列から数値にキャストされます(プログラマの型への無知から来る混乱を防ぐための正規化なのでしょうか?)。

これは奇妙な仕様ですね。私はこの仕様は知りませんでした。
JavaScriptの場合とある意味逆ですね。JavaScriptも文字列と数値のインデックスを持てますが、内部的には文字列がキーとして扱われます。a["15"]とa[15]は同じ要素を指しますが、a["15"]とa["015"]は別の要素を指します。
このあたりは、私のホームページ(オブジェクト指向プログラム言語としてのJavaScript)に少し詳しく(易しく)説明しています。下記の3.〜7.が該当する内容です。

  1. JavaScriptのオブジェクト
  2. オブジェクトの作成
  3. JavaScriptの連想配列
  4. JavaScriptの配列
  5. インデックスの範囲
  6. 配列の実装
  7. 小数を添え字とする配列

ところで、このページ、9年前には、JavaScriptオブジェクト指向的側面というテーマ自体が目新しかったのですが、その後の変化で内容が古くなってしまいました。いまだに多くの来場があるのに申し訳ない気持ちで一杯です。早々にリニューアルしたいと思っております。はい。