ActionScript (like JavaScript) lets you access object properties using two different notations. Consider the following class
class A
{
public const CONSTANT:int = 34;
}
var a:A = new A();
The CONSTANT property of object a can be referred using the following two formats:
a.CONSTANT
a["CONSTANT"]
Since CONSTANT is declared using const
, it cannot be assigned a new value later on. So the following code doesn’t compile (as expected):
a.CONSTANT = 23;
However, the following code compiles and only throws an exception at run-time:
a["CONSTANT"] = 23;
Beware of this behavior of ActionScript when using const
in your code!