私はこの行がどのように機能するかを理解しようとしています:
var dependencies = mod && mod.dependencies || [];
このコード行は、modをパラメーターとして受け取り、modがオブジェクトである関数内に存在します。私の理解では、最初に(ちなみに、ここでの「それ」とは何ですか?エンジンの「それ」とは何ですか?)modとmod.dependenciesの両方がtrueに解決されるかどうかをチェックします。そうであれば、|| 演算子が短絡し、mod.dependenciesが返されます。いずれかがfalseの場合、空の配列が返されます。
ただし、modとmod.dependenciesの両方を検索する理由はわかりません。mod.dependenciesはmodなしで存在できますか?mod.dependenciesを探してみませんか?
これはJavascriptの一般的な手法です。mod
またはmod.dependencies
がnullまたは未定義の場合、基本的に「フォールバック」を作成します。理由mod && mod.dependencies
は、がnullのmod.dependencies
場合、直接アドレス指定するとエラーがスローされるためですmod
。したがって、それmod
がnullでないこと、および(&&
)mod.dependencies
がnullでないことを確認します。
この|| []
部分は、mod
またはmod.dependencies
がnullまたは未定義の場合dependencies
、空の配列に割り当てることを意味します。
この種のステートメントについては、次のように考えることができます。
modが定義されていて、mod.dependenciesが定義されている場合は、mod.dependenciesを使用します。それ以外の場合は、空の配列([])を使用します
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加