ホームページ >ウェブフロントエンド >jsチュートリアル >JS は {}: を空のブロックまたは空のオブジェクトとしてどのように解釈しますか?
JavaScript インタープリターは、{} が出現するコンテキストに基づいて、{} を空のブロックとして扱うか空のオブジェクトとして扱うかを決定します。
空のブロックとして解釈される場合
言語文法 (セクション 12、演算子) によれば、ブロックは中括弧 {} で構成される構造であり、演算子のリストを含めることができます。 {} がコンテンツなしで表示される場合、JavaScript インタープリターはそれらを空のブロックとして扱います。
空のオブジェクトとして解釈される場合
一方、空のオブジェクトはプロパティを含まないオブジェクト リテラル。これは、{} の後にコロン (:) が続くように記述されます。 ({}) の場合のように、JavaScript インタプリタが括弧で囲まれた {} を検出すると、それらを空のオブジェクトとして解釈します。
Node.js と Firebug の違い
あなたの例では、Firebug は {}[] を空のブロック (0) として扱いますが、Node.js はそれを空の値 ([]) を持つプロパティを持つオブジェクトとして扱います。この違いは、Node.js では {}[] が式として評価されるのに対し、Firebug/Chrome DevTools では演算子として評価されるという事実によるものです。
Output
{} は、コンテキストに応じて空のブロックまたは空のオブジェクトとして解釈できます。 {} が内容なしで表示される場合、または括弧で囲まれている場合、それらは空のオブジェクトとして解釈されます。ステートメントのコンテキストに {} が出現する場合、それらは空のブロックとして扱われます。以上がJS は {}: を空のブロックまたは空のオブジェクトとしてどのように解釈しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。