1. for...in durchläuft alle aufzählbaren Eigenschaften im Objekt (einschließlich eigener Eigenschaften und geerbter Eigenschaften).
const obj = {
itemA: 'itemA',
itemB: 'itemB'
}
var newObj = Object.create(obj)
console.log(newObj)
newObj.newItemA = 'newItemA'
newObj.newItemB = 'newItemB'
console.log(newObj)
for (i in newObj) {
console.log(i)
}
for (i in newObj) {
if (newObj.hasOwnProperty(i)) console.log(i)
}
Object.defineProperty(newObj, 'newItemA', {
enumerable: false
})
for (i in newObj) {
console.log(i)
}
2. Object.keys(): gibt ein Array zurück, das die Namen aller aufzählbaren eigenen Eigenschaften enthält.
const result = Object.keys(newObj)
console.log(result)
3. Object.getOwnPropertyNames() gibt die Namen seiner eigenen Eigenschaften zurück (unabhängig davon, ob sie aufzählbar sind oder nicht).
const result1 = Object.getOwnPropertyNames(newObj)
console.log(result1)