Hi, OK the issue is that we getting different results for AS and JS.
For code like this: var a:Object = {}; var propA:Object = a.prop; var propB:* = a.prop; if (propA === undefined) { trace("A undefined"); } if (propA === null) { trace("A null"); } if (propB === undefined) { trace("B undefined"); } if (propB === null) { trace("B null"); } On AS we get: A null B undefined On JS we get: A undefined B undefined Which is obvious when you look at the generated code: var /** @type {Object} */ a = {}; var /** @type {Object} */ propA = a.prop; var /** @type {*} */ propB = a.prop; So I’m guessing the compiler should be doing something different with this line? var /** @type {Object} */ propA = a.prop; So it returns null rather than undefined? Thanks, Justin