Compile time we don't need to check for data, we only need to check for declared variable, method class etc. So I am in favour for what java is doing. It will help to catch the errors during compile time
I think flex allows this because of associative arrays. var data:object = new Object(); new data.length means data['length'] Is there any way I can tell flex compiler that don't assume objects as associative array unless I specifically declare as Array.

