JavaScript
JavaScriptのクラスと関数と連想配列は同じものなのか
JavaScriptにはJSONオブジェクトというものがあるが、これはJavaScriptにおける構造体だ。
そしてこれはJavaScriptの連想配列としても使うことができる。
つまり、下のコードの変数「map」は構造体としても連想配列としてもアクセスできる。
関数もオブジェクトなので、newすれば構造体や連想配列として使うことができる。
JSON.stringifyメソッドで文字列にすることも可能だ。
逆に、連想配列に関数を格納して、メソッドとして呼び出すこともできる。
もちろん関数内に関数を格納して、それを連想配列内の関数として呼び出すこともできる。
最近ではclass構文が追加されたが、もともとプロトタイプベースのJavaScriptはクラスを作れないはずだ。
コード上には「class」と書くものの、中身はfunctionと同等になっているようで、やはり構造体としても連想配列としても使える。
配列に関数を格納して、それを呼び出すことも可能だ。
ただ、配列はメソッドチェーンでのアクセスはできない。
|