enesness
enesness

Reputation: 3133

actionscript (flex): how to know whether a property of object exists (or defined)?

I am a Java developer who tries Flex. Here is my problem:

I behave actionScript objects as hashmap but when the object do not have the property it gives exception: No such variable.

Here I expect it gave me null, instead of giving exception. So do you know is there a way to handle it, namely check if the property is defined for object.

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

Upvotes: 18

Views: 9521

Answers (3)

hasOwnProperty() doesn't work correctly with inheritance, static properties, or dictionaries.

You should use

if ("propertyName" in myObject)

instead.

Upvotes: 1

Ryan Guill
Ryan Guill

Reputation: 13896

try

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

it is null, but you can't output null. you can also try converting it to a string for the purposes of a trace().

Upvotes: 0

Dimitar Dimitrov
Dimitar Dimitrov

Reputation: 16357

Use something along the lines of

if (myObject.hasOwnProperty("propertyName"))

to check if the property exists.

Edit: Also take a look here.

Upvotes: 30

Related Questions