JavaScript メモ

  • プロパティも配列も連想配列
  • 関数がオブジェクト?
  • new したら prototype を自動で参照してくれる?
// 以下、コードもどきのメモ

// 連想配列の書き方
var hash = {a:'afx', 'b':'bcc'};  // => じゃない, key の " ' は省略できる?
hash['c'] = 'clnch';

// プロパティも配列も連想配列
var arr = new Array;  // [] でも同じ?
arr[0] = 'a';    // ↓と同じ ( 0 に .ToString() がかかる? )
arr['0'] = 'a';  // ↑と同じ
arr['a'] = 'afx';  // ↓と同じ
arr.a = 'afx';     // ↑と同じ

// 関数がオブジェクト?
var Klass = function() {}  // ↓と同じ?(スコープとかが違いそう。 new はこれでもできるぽい)
function Klass() {}        // ↑と同じ?

// new したら prototype を自動で参照してくれる?
Klass.prototype = {a:'afx', b:function(){return '飛べない豚はなんとかかんとか'}};  // これも連想配列

Klass.a // undefined (この状態じゃ prototype は見てくれない )

var obj = new Klass;
obj.a  // 'afx'
obj.b()  // '飛べない豚はなんとかかんとか'

// で、どうして prototype があるのか理解していなかったり。