2016-04-05 14 views
0

for.inループには表示されないようにオブジェクトに列挙できないプロパティを作成する方法、それ以外の場合はObject.property構文を使用してアクセスできるようにする方法はありますか。Javascript非列挙型プロパティ

答えて

2

タスクにObject.definePropertyを使用できます。 enumerableの横には、writableconfigurable(削除可能)プロパティを設定することもできます。

var obj = {a: 1}; 
 

 
Object.defineProperty(obj, 'b', { 
 
    value: 2, 
 
    enumerable: false, 
 
}); 
 

 
console.log(obj.b); //2 
 
for (var key in obj) { 
 
    alert(key); //just 'a' 
 
}