Подтвердить что ты не робот

Actionscript (flex): как узнать, существует ли (или определено) свойство объекта?

Я разработчик Java, который пытается использовать Flex. Вот моя проблема:

Я управляю объектами ActionScript как hashmap, но когда объект не имеет свойства, он дает исключение: нет такой переменной.

Здесь я ожидаю, что это дало мне значение null вместо исключения. Знаете ли вы, что есть способ справиться с этим, а именно проверить, определено ли свойство для объекта.

trace (obj [ "2008-02" ])//дает исключение

4b9b3361

Ответ 1

Используйте что-то вдоль линий

if (myObject.hasOwnProperty("propertyName"))

чтобы проверить, существует ли свойство.

Изменить: Также посмотрите здесь.

Ответ 2

hasOwnProperty() работает неправильно с наследованием, статическими свойствами или словарями.

Вы должны использовать

if ("propertyName" in myObject)

вместо.

Ответ 3

попробуйте

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

оно равно null, но вы не можете вывести значение null. вы также можете попробовать преобразовать его в строку для целей trace().