Ich arbeite gerade an ES6, was mir wirklich Spaß macht.Konnte alle Aktoren einer Klasse nicht aufzählen - Möglicher Fehler?
Das Problem ist, dass ich ein wirklich schlechtes Problem erlebt: Ich kann keinen Weg finden, alle meine Eigenschaften Deskriptoren einer Klasse aufzuzählen.
class A {
get property(){
return "the 'a' value";
}
}
const a = new A();
const b = {
get property() {
return "the 'b' value";
}
};
const objectKeys = (obj) => {
return Object.keys(obj).join(', ');
};
const objectPropertyNames = (obj) => {
return Object.getOwnPropertyNames(obj).join(', ');;
};
const objectForIn = (obj) => {
const result = [];
for(const prop in obj){
result.push(prop);
}
return result.join(', ');;
}
console.log(objectKeys(a)); // Output empty string
console.log(objectKeys(b)); // Output 'property'
console.log(objectPropertyNames(a)); // Output empty string
console.log(objectPropertyNames(b)); // Output 'property'
console.log(objectForIn(a)); // Output empty string
console.log(objectForIn(b)); // Output 'property'
console.log(a.hasOwnProperty("property")); // Output false
console.log(b.hasOwnProperty("property")); // Output true
console.log(Object.getOwnPropertyDescriptor(a, "property")); // Output undefined
console.log(Object.getOwnPropertyDescriptor(b, "property")); // Output a valid descriptor