【参考】パーフェクトjavascript
#一覧
属性名 | 意味 |
---|---|
writable | プロパティ値の書き換え可能 |
enumerable | for in文で列挙可能 |
configurable | 属性を変更可能。プロパティの削除可能 |
get | プロパティ値のゲッター関数を指定可能 |
set | プロパティ値のセッター関数を指定可能 |
#例:writable,enumerable,configurableの使い方
メソッドのpreventExtensions,seal,freezeも内部的には、
sealはプロパティのconfigureable属性を偽に、
freezeはwritable属性を偽にしている。
#例:get,setの使い方
function createObject(){
var _x = 0;
return {
get x() { return _x; }
set x(value) { _x = v; }
}
}
var obj = createObject();
obj.x //=> 0 (内部的にゲッターを使っている)
obj.x = 1; // (内部的にセッターを使っている)
obj.x //=> 0