Académique Documents
Professionnel Documents
Culture Documents
d e f i n e P ro p e r t i e s
Object.defineProperties(obj , props)
O b j e c t . d e f i n e P ro p e r t y
Object.defineProperty (obj , prop , descriptor)
I. Object . defineProperties
Syntaxe :
Object.defineProperties(obj, props)
« obj » : objet (soit-il vide) auquel on veut ajouter ou dont on veut modi-
fier une ou plusieurs propriétés.
« props » encore un objet, dont les clés (membres ou éléments) sont les
attributs ou « descripteurs » (énumérables), des propriétés qu’on veut
modifier ou ajouter.
Object.defineProperties(obj, {
property1: {
value: "prop1Value",
attributs
J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-V
},
property2: {}
});
let r = Object.defineProperties(objet, {
property1: {
value: "prop1Value",
writable: true,
enumerable: false
}
,
property2: {
value: "prop2Value"
}
,
property3: {
value: "prop3Value",
writable: true,
configurable: true
}
});
console.log(r);
console.log(
objet.property1,
objet.property2,
objet.property3);
</script>
Syntaxe :
« obj » : objet (soit-il vide) auquel on veut ajouter ou dont on veut modi-
fier une ou plusieurs propriétés.
Une façon de définir une propriété d’un objet, le descripteur est ici défi-
nit isolément.
console.dir(obj);
// obj.cle=55;
// TypeError: "cle" is read-only
</script>
Object.defineProperty(obj, 'cle', {
enumerable: false,
configurable: false,
writable: false,
value: 'valueValue',
});
console.dir(obj);
// obj.cle=55;
// TypeError: "cle" is read-only
</script>
Object.defineProperty(obj, 'cle', {
enumerable: false,
configurable: false,
// writable: false,
// value: 'valueValue',
set(newVal) {
console.log("Dans « set »");
this.v = newVal;
},
get() {
console.log("Dans « get »");
return this.v;
}
});
console.dir("obj=",obj);
console.dir("obj.cle=",obj.cle);
console.dir("obj['cle']=",obj['cle']);
console.log("obj.v = Date.now()=",obj.v = Date.now());
// obj.cle=55;
// TypeError: "cle" is read-only
</script>
//
// Cette fonction retourne l'objet « d » qui
// peut donc être (et l'est effectivement ici)
// utilisé comme descripteur (puisqu'il est à
// la position de descripteur en argument).
//
console.dir(`descrFct= `,descrFct);
console.dir("obj=",obj);
console.dir("obj.cle=",obj.cle);
obj.cle=55;
// TypeError: "cle" is read-only
// pcq « writable = false »
</script>
Mots-clés :
Getter, Setter, get, set, this, inline, callback, accessor property de-
scriptor n accessor, property, descriptor , descripteur, definegetter,
definesetter, defineProperty, getOwnPropertyNames, javascript,
ecmascript
diasfb@mail2world.com