CF中的点和方括号表示法不应该表现相同吗?

Hen*_*nry 6 coldfusion railo coldfusion-10 cfml

使用此代码:

<cfset foo = {}>
<cfset exists1 = !isDefined("foo.foo")>
<cfset exists2 = isNull(foo.foo)>
<cfset exists3 = isNull(foo['foo'])>
Run Code Online (Sandbox Code Playgroud)

Railo传递ok(全部为True),而CF在最后一行抛出异常.

coldfusion.runtime.UndefinedElementException:元素foo在作为表达式一部分引用的CFML结构中未定义.

我一直认为CFML中的点符号和方括号表示法应该在功能上等同,只有方括号可以定义区分大小写的键.

我在这里报告的一个错误最近被标记为"NotABug".

有人可以解释原因吗?

Ada*_*ron 5

我已经添加了对bug的评论.基本上Adobe将其关闭为"不是一个bug"的原因,是因为他们的工程师对它进行了分类是一个布偶.这是一个错误.

这是因为你的代码不能正常工作.

  • Adobe工程师同意我对情况的分析,现在重新打开并标记为"修复":-) (2认同)