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

Reply via email to