※わかりにくいとクレームがはいったため、大幅に加筆修正しました。
オブジェクトやthisという概念をどうやって理解するか?
まだjavascriptのことがいまいちわかっていなかったときに、いろいろ考えてみた結果についてまとめておきます。
結論から言うとこれでjavascriptについて「だいたいわかった」と言えるようになったので、javascriptのオブジェクトを使いこなすためにはかなり有効な考え方なのではないでしょうか。
- 「メモリ上にwindowオブジェクトをルートにもつファイルシステムのようなものがある」
- 「それを編集・作成・取得できるようにするしくみがオブジェクトである」
ざっくり表現すると、だいたいこんな感じです。
こう考えを改めると、なんだか急にわかったような気がしてきました。
ここまで来たらもうだいたい勝ったようなものですが、油断せず行こう。続けます。
オブジェクトをディレクトリに置き換える
- オブジェクト:ディレクトリ
- プロパティ:エイリアスまたはディレクトリ・ファイル
- メソッド:実行ファイル(関数)
- 変数:関数が実行される作成され終了すると削除されるオブジェクトのエイリアス
こんな感じに置き換えてやります。だんだん整理できてきました。
もうちょっと続きます。
•オブジェクトはエイリアス(変数・プロパティ)の参照がすべてなくなると削除される
•オブジェクトはwindowから参照されない一時ディレクトリとして作成され、プログラミング内でプロパティに紐付けることはできる
•変数はエイリアス(オブジェクトのアドレスを格納)、またはエイリアス指し示すオブジェクト
•オブジェクトの場所を知る方法が【変数】と【プロパティ】と【this】
•thisは実行中のカレントディレクトリ
•applyやcallはカレントディレクトリを指定されたオブジェクトに移動して関数を実行
最終的にこういう解釈に至り、javscriptとわかり合えたのでした。
「だいたいわかった」