2009-10-05 8 views
17

Je suis un développeur Java qui essaie Flex. Voici mon problème:actionscript (flex): comment savoir si une propriété d'objet existe (ou est définie)?

Je me comporte des objets ActionScript comme hashmap mais lorsque l'objet n'a pas la propriété, il donne une exception: Aucune variable de ce type.

Ici, je m'attends à ce qu'il me donne null, au lieu de donner des exceptions. Donc, savez-vous qu'il existe un moyen de le gérer, à savoir vérifier si la propriété est définie pour l'objet.

trace (obj [ "2008-02"]) // donne exception

Répondre

29

Utilisez quelque chose le long des lignes de

if (myObject.hasOwnProperty("propertyName")) 

pour vérifier si la propriété existe.

Modifier: Regardez également here.

+0

merci, pour la réponse rapide choquante – javanes

0

essayer

if (obj["2008-02"] != null) { then do something } 

est nulle, mais vous ne pouvez pas nulle sortie. vous pouvez également essayer de le convertir en une chaîne pour les besoins d'une trace().

1

hasOwnProperty()doesn't work correctly avec l'héritage, les propriétés statiques ou les dictionnaires.

Vous devez utiliser

if ("propertyName" in myObject) 

à la place.

Questions connexes