/*Eloquent JS object snippet 10

/*Eloquent JS object snippet 10 proprietes enumerables et non numerables, ce qu'on ajoute n'importe ou est numerable avec transmission a la descendance*/ map = {}; /*vous remarquerez que l'objet ancestral ressemble a map*/ console.log(Object.prototype); //-->{} /*mais par contre il a une sacree reserves de proprietes*/ console.log(Object.getOwnPropertyNames(Object.prototype)) /*-->[ 'constructor', 'hasOwnProperty', 'propertyIsEnumerable', 'isPrototypeOf', 'toLocaleString', 'toString', 'valueOf' ] */ /*tandis que le pauvre map, faux jumeau, n'a rien de tout ca. Mefiez vous des imitations*/ console.log(Object.getOwnPropertyNames(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 est lui aussi fourre d'un nom de propriete. Ce nom est celui d'une propriete enumerable qui sera attrapee par la boucle for*/ Object.prototype.nonsense = "hi"; for (var name in map) /*Vous voyez que le prototype ancestral fourre contient cette sorte de non sens appelee non sens, propriete, elle, qui est enumerable pour lui et pour ses fils a la difference de toutes les precedentes*/ console.log(name); /*-->pizza touched tree nonsense*/ console.log(Object.prototype); //-->{ nonsense: 'hi' } for (var nom in Object.prototype) console.log("nom", nom); //-->nom nonsense console.log('nonsense' in map); console.log('toString' in map); delete Object.prototype.nonsense;
proprietes enumerables
et non numerables

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.