読者です 読者をやめる 読者になる 読者になる

motsunav’s diary

IT技術(Java, JavaScript)と音楽(ピアノ, 編曲)のことを書きます。

O'Reilly「開眼! JavaScript」読書メモ ~第3章~

JS界で定評のある「開眼! JavaScript」を読んでみたので、
備忘録も兼ねて、各章ごとに自分用にまとめてみようと思います。

 

オブジェクトリテラル

オブジェクトを作成する方法として、「Object()コンストラクタを使用し、ドット記法やブラケット記法などでプロパティ等を格納する方法」が挙げられる。Object()コンストラクタは、プロパティやメソッドを持たない空オブジェクトを生成する抜き型のようなもの。他にも波括弧を使用してその中でプロパティ等を格納する、オブジェクトリテラルという表記方法がある。

// オブジェクトリテラル
var cat = {
    name : 'neko',
    age : 5,
    getName : function () {
        return cat.name;
    }
};

 
以下は全て同じ結果となる。

// Object()コンストラクタ
// ドット記法でプロパティを追加
var cat1 = new Object();
cat1.name = 'neko';
cat1.age = 5;
cat1.getName = function getName() {
    return cat1.name;
};

// Object()コンストラクタ
// ブラケット記法でプロパティを追加
var cat2 = new Object();
cat2['name'] = 'neko';
cat2['age'] = 5;
cat2['getName'] = function getName() {
    return cat2.name;
};

// 波括弧で空オブジェクト作成
var cat3 = {}
cat3.name = 'neko';
cat3.age = 5;
cat3.getName = function getName() {
    return cat3.name;
};

// オブジェクトリテラル
var cat4 = {
    name : 'neko',
    age : 5,
    getName : function() {
        return cat4.name;
    }
};


次は関数の章。call,applyとか全然使えてないのでこの機会にちゃんと理解できるようにしたいです。