Que sont les objets expando dans les javascripts?
Dans quel but avons-nous besoin de cela? Tout exemple complet sera apprécié
J'ai trouvé 1 article ici Javascript: Le beau-fils roux du développement web
Merci
Que sont les objets expando dans les javascripts?
Dans quel but avons-nous besoin de cela? Tout exemple complet sera apprécié
J'ai trouvé 1 article ici Javascript: Le beau-fils roux du développement web
Merci
Eh bien, en javascript, tout objet est un expando objet. Ce que cela signifie est que, comme l'article le couvre, qu'à chaque fois que vous essayez d'accéder à une propriétéde 1 , il sera automatiquement créé.
var myObj = {}; // completely empty object
myObj.myProp = 'value';
Le moment où vous attribuer myProp
d'une valeur, la propriété myProp
est créé dynamiquement, même s'il n'existait pas avant. Dans beaucoup d'autres langages tels que C#, ce n'est normalement pas possible (en fait C# a juste permis expando objet d'un soutien, mais c'est à côté du sujet). Pour accéder à une propriété dans une classe normale en C#, vous devez spécifier dans la classe qu'il n'a, en effet, ont cette propriété.
1 Pas tout à fait correcte. Voir npup de commentaire ci-dessous pour des précisions.
Tout sauf les types primitifs (chaîne, nombre, booléen) sont des objets et supportent la structure clé: valeurs. Il est possible d’accéder aux propriétés (clés) et de les définir à l’aide de la notation par points et des crochets.
var myObj = {};
myObj.myProp1 = 'value1'; //works, an expando property
myObj[myProp2] = 'value2'; // works , an expando property
myObj[2010]= 'value'; //note the key is number, still works, an expando property??
myObj.2010 = 'value'; // FAILS. to use dot notation, key must be a string
Un article écrit en 2007 qui utilise document.tous (comme le seul moyen d'accéder à des éléments)? C'est un grand drapeau rouge.
Il est juste de s'habiller ", Vous pouvez ajouter des propriétés à un objet" avec des mots à la mode.
Nous devons être en mesure de le faire parce que sinon nous ne serions pas en mesure de stocker des données, et qu'il serait JavaScript, un assez inutile langue.
(Tout ce qui est un tableau? Non, il n'est pas. Et il itère sur un objet sans hasOwnProperty wrapper. Ce n'est pas à l'abri. Il suffit de garder loin de l'article, il est pire qu'inutile)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.