不可枚举的属性

Version >= 五

我们可以避免属性出现在 for (... in ...) 循环中

属性描述符的 enumerable 属性指示在循环对象的属性时是否枚举该属性。

var obj = { };

Object.defineProperty(obj, "foo", { value: 'show', enumerable: true });
Object.defineProperty(obj, "bar", { value: 'hide', enumerable: false });

for (var prop in obj) {
    console.log(obj[prop]);
}

控制台输出

节目