Eloquent JS object (ligne 25) snippet 11 Definir les proprietes des proprietes

/*Eloquent JS object (ligne 25) snippet 11 Definir les proprietes des proprietes d'un object, comme l'enumerabilite et autres, ce qu'on ajoute sans precision speciale n'importe ou sera enumerable avec transmission a la descendance de cette enumerabilite. Reprenons le snippet 10 dans un premier temps, juste un peu allege d'annotations et de lignes de code non necessaires a present.*/ map = {}; /*la fonction storePhi gave l'object map de ses couples d'arguments pour en faire des proprietes.*/ function storePhi(event, phi) { map[event] = phi; } storePhi("pizza", 0.069); storePhi("touched tree", -0.081); /*l'objet ancestral "Object.prototype" va aussi etre fourre d'un nom de propriete. Ce nom serait celui d'une propriete enumerable qui serait attrapee par la boucle for si nous la fourrions sans precaution Venons en au coeur du sujet UTILISONS LA METHODE Objec.defineProperty() pour fourrer l'objet ancestral precautionneusement.*/ Object.defineProperty(Object.prototype, "hiddenNonsense", {enumerable: false, value: "hi"}); for (name in map) console.log(name); /*-->pizza touched tree*/ console.log("\n\n", map.hiddenNonsense, "hiddenNonsense" in map); //--> hi (j'ai saute 2 lignes sur la console.) /*On voit que n'etant pas enumerable, hiddenNonsense n'est pas attrappe par la boucle for. Mais si on demande s'il est parmi les proprietes de map on obtient 'vrai'*/

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.