Vorrei definire una proprietà javascript usando un descrittore di proprietà che ha attributi personalizzati, in altre parole attributi diversi dal "valore" standard, "scrivibile", ecc ... in basso, ad esempio, ho definito una proprietà con un descrittore di proprietà che ha l'attributo personalizzato "customAttr". la chiamata a Object.defineProperty funziona bene, ma più tardi quando cerco di eseguire il loop sugli attributi del descrittore di proprietà, il mio attributo personalizzato non è elencato. È quello che sto cercando di fare? Graziei descrittori di proprietà javascript supportano attributi personalizzati?
var o = {};
Object.defineProperty(o, "newDataProperty", {
value: 101,
writable: true,
enumerable: true,
configurable: true,
customAttr: 1
});
var desc2 = Object.getOwnPropertyDescriptor(o, "newDataProperty");
// List the descriptor attributes.
for (var prop in desc2) {
console.log(prop + ': ' + desc2[prop]);
}
//PROBLEM: "customAttr" is not listed
Per interessi, perché vuoi farlo? –
hi james ... per favore vedi il commento che ho inserito sotto sotto la tua risposta ... in fase di esecuzione vorrei riaggiungere tutte le proprietà dell'oggetto, controllare per vedere quali sono "decorati" con determinati attributi, e in base a l'esistenza, l'assenza e i valori di tali attributi, quindi procedere a fare "cose" come la convalida della proprietà ... grazie ancora per la risposta – user2073948