オブジェクトリテラル式によるオブジェクトの生成


プロパティ名は識別子、文字列、数値で設定が可能
実質的に Singleton となる

{ name:"mae" age:24 }
{ "name":"mae" age:24 }
{ 1:1 24:24 }
{ name:"mae" age:24 etc:{ address:"sapporo" tel:"011-011-1111" } }


function オブジェクト


function で定義した関数は typeof の出力結果は “function” となる。

js> var mae = function Date() {}
js> typeof mae
"function"


オブジェクトリテラルを利用した引数と戻り値


オブジェクトリテラルを利用した引数 (+デフォルト引数)

function incrementAge(mae) {
    mae = mae || { name:"mae" age:0 }
    return mae.age++;
}

オブジェクトリテラルを利用した戻り値

function getTom() {
    return { name:"tom" age:30 }
}


プロパティ, メソッドのアクセス


ドット “.” もしくは ブラケット “[]” 演算子

// this の値によってメソッドの呼び出しを切り替える
Math[this < 0 ? 'celling' : 'floor'](this)


プロパティ名・プロパティ値の列挙


プロパティ名: for in
プロパティ値: for each in


in 演算子


オブジェクトにプロパティが存在するかどうかを調べる。

js> var map = { '001':'sapporo' };
js> '001' in map
true
js> 'sapporo' in map
false

※ プロトタイプ継承を行っているクラスのプロパティも対象になるので注意



Hiroyuki Maeda

mae0003

blog comments powered by Disqus