With this code:
<cfset foo = {}>
<cfset exists1 = !isDefined("foo.foo")>
<cfset exists2 = isNull(foo.foo)>
<cfset exists3 = isNull(foo['foo'])>
Railo passes ok (all True) while CF throws an exception on the last line.
coldfusion.runtime.UndefinedElementException: Element foo is undefined in a CFML structure referenced as part of an expression.
I've always thought the dot notation and the square bracket notation in CFML should be functionally equivalent other than only square bracket can define case-sensitive keys.
A bug I reported here is recently marked "NotABug".
Can someone explain why?