2

プロパティ名が有効な識別子である通常の (「ネイティブ」) JavaScript オブジェクトの場合、式x.yx["y"]は常に意味的に同等です。

この等価性はホスト オブジェクトに対して保証されていますか?

[..an] ECMAScript の実行環境を完成させるためにホスト環境によって提供されるオブジェクト。

そうでない場合、顕著な例外はありますか? (Cocoon、Crosswalk、IE などでは?)

window特に、Window ( ) やその他の DOM オブジェクトに興味があります。また、予想される動作に既知の「例外」があるか、またはそのようなことが可能な環境があるかどうか。

4

1 に答える 1

2

同一である必要があります。Ecma-262 Edition 5.1のセクション 11.2.1 (プロパティ アクセサー) から、次のようになります。

プロパティには、ドット表記を使用して名前でアクセスします。

MemberExpression . IdentifierName 
CallExpression . IdentifierName

またはブラケット表記:

MemberExpression [ Expression ]
CallExpression [ Expression ]

ドット表記は、次の構文変換によって説明されます。

MemberExpression . IdentifierName

と同じ動作をします

MemberExpression [ <identifier-name-string> ]

同様に

CallExpression . IdentifierName

と同じ動作をします

CallExpression [ <identifier-name-string> ]
于 2014-11-10T01:20:10.703 に答える