function hideProperty(host, name, value) { Object.defineProperty(host, name, { value: value, writable: true, enumerable: false, configurable: true }) } var obj = { a: 1, b: 2 } console.log(Object.keys(obj)) //["a", "b"] for (var p in obj) console.log(p) // a // b console.log('-------------------------') hideProperty(obj, "a", obj.a) console.log(Object.keys(obj)) // ["b"] for (var p in obj) console.log(p) // b console.log(obj.a) // 1