JavaScript 第5版 - 7章 オブジェクトと配列
2009/10/27(火) 19:27 Javascript親記事へこのエントリーをはてなブックマークに追加

7.1 オブジェクトの生成

var obj = ;
と
var obj = new Object();
は同じ意味で空のオブジェクトを生成する。

7.2.2 プロパティの存在確認

オブジェクトのプロパティの存在を確認するには for inを使って行う事ができる。
o.xというプロパティが未定義でない場合という条件を見分けるために!==演算子を指定してる。
!==演算子ではnullとundefinedが見分けることができる。
var obj = { a : 1 , b:2 , c:3 ,x:0};
if("a" in obj) console.log(obj.a); // 1
if(obj.x !== undefined) obj.x = 3;// !==で比較している
console.log(obj.x);

連想配列としてのオブジェクト

objのプロパティにアクセスするにはobj.xとする方法と、
obj["x"]と連想配列の形式を取ってアクセスする方法がある。
javascriptでは型がゆるいのでこのように[]演算子を使ってアクセスすることも可能になっている。
これを使うとより柔軟なプロパティのアクセスができる。
var obj = {};
obj.map1 = 1;
obj.map2 = 2;
obj.map3 = 3;
for(var i=1;i<=3;i++){
    console.log(obj["map" + i]);
}
// map1-3までアクセスする

Objectのプロパティとメソッド

constructorプロパティ

初期化に使われたコンストラクタの関数を参照できる
var o = new Object();
console.log(o.constructor);// object()
var d = new Date();
console.log(d.constructor);//Date()

7.4.5 hasOwnProperty()メソッド

引数で指定したプロパティを持っているかの真偽値を返してくれる。
継承したプロパティの場合はfalseを返す
下の例ではtoString()は継承したプロパティであることが分かる。
 var o = new Object();
o.mess = "プロパティ";
o.hasOwnProperty("toString");// false
o.hasOwnProperty("mess");// true

7.5配列の要素追加

Arrayコンストラクタで数字を指定すると、その個数分の要素を持つ配列を生成する。
先に配列の大きさが決まっている場合はこちらを使う。
var ary = new Array(10);
console.log(ary.length);//10

名前:  非公開コメント   

  • TB-URL  http://efcl.info/adiary/020/tb/