トップページ > コンテンツ > プログラミング入門 > Ajax入門 > JavaScript入門 > propertyについて

Object.defineProperty(オブジェクト,"オブジェクト名",ディスクリプタ);とすると、
明示的にオブジェクトの持つプロパティの設定を宣言できる。

var obj = {};
Object.defineProperty(obj,"x",{
    value: 777,
    writable: true, //trueだと、書き込み可能。(例)obj.x = 100;をしてから値を表示すると、trueの場合100となり、falseの場合777が表示。
    enumerable: true, //trueだと、列挙可能。 (例)for(hoge in obj) {alert(obj);}とすると、trueの場合はxが出るが、falseの場合何もでない。
    configurable: true //trueだと、変更削除可能。(例)delete obj.x;をしてから値を表示すると、trueの場合undefinedとなり、falseの場合777が表示。
});

getter,setterのようにも出来る。ただし、この時valueとwritableは同席できない。
var obj = {};
var data = 55;;
Object.defineProperty(obj,"x",{
   get: function(){ return data;},
   set: function(setdata){ data = setdata;},
   enumerable: true,
   configurable: true
});
最終更新:2014年02月11日 14:42