オブジェクト指向 JavaScriptの原則を購入しました。2

3章

in演算子は自身のプロパティとプロトタイプのプロパティの両方が検索対象
hasOwnProperty()メソッドは全てのオブジェクトで使用することができる。自身のプロパティである場合のみtrueを返す。

列挙

for(property in Array){
	    cc.log(property);
}

for(property in field){
	    cc.log(property);
}

Arrayコンストラクタのプロパティを列挙できる。が、ネイティブオブジェクトのビルトインプロパティの多くは列挙可能ではない。

以下fieldオブジェクトのプロパティを列挙した結果

_isMouseEnabled Cocos2d-html5-v2.2.3.min.js:34
_mousePriority Cocos2d-html5-v2.2.3.min.js:34
_super Cocos2d-html5-v2.2.3.min.js:34
_ignoreAnchorPointForPosition Cocos2d-html5-v2.2.3.min.js:34
_reorderChildDirty Cocos2d-html5-v2.2.3.min.js:34
fieldData Cocos2d-html5-v2.2.3.min.js:34
collisionData Cocos2d-html5-v2.2.3.min.js:34
blocks Cocos2d-html5-v2.2.3.min.js:34
_tag Cocos2d-html5-v2.2.3.min.js:34
_zOrder Cocos2d-html5-v2.2.3.min.js:34
_parent
…(略)

Fieldコンストラクタだと以下の4つだけしかない列挙されない。(多くのビルトインプロパティは隠れている)

id Cocos2d-html5-v2.2.3.min.js:34
extend Cocos2d-html5-v2.2.3.min.js:34
implement Cocos2d-html5-v2.2.3.min.js:34
create

アクセサプロパティ

var person1 = {
_name: "Suzuki"

get name(){
  return this._name;
}

set name(value){
  this._name = value;
}
スポンサーリンク
RESAD
RESAD

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
RESAD