JavaScript
JavaScriptの連想配列とオブジェクトは同じものなのか
JavaScriptにはJSオブジェクトというものがあるが、これはJavaScriptにおける構造体のようなものだ。
そしてこれはJavaScriptの連想配列としても使うことができる。
つまり、下のコードの変数「hash」は構造体としても連想配列としてもアクセスできる。
他の言語にはまず見られない仕組みだが、オブジェクトと連想配列は機能的に考えるとほぼ同じなので、これを同一に扱えるというのは理にかなっている。
オブジェクトとしてアクセスするときは識別子を「プロパティ」と呼び、連想配列としてアクセスするときは「キー」と呼ぶ。
関数を格納して、連想配列の書き方で呼び出すこともできる。
こういった性質があるので、下のようなコードを書いても当然正常に動くわけだ。
ただし言語仕様上当然ではあるが、オブジェクトとしてアクセスする時はプロパティにハイフンやピリオドなどの記号を含むことができない。(名前空間が違うので if や for などの予約語は使うことができる)
|