You don't know JS type & grammarには、第1章の最後に「依存性注入」と呼ばれるデザインパターンが示されています。このパターンはこの章のポイントではありませんが、例では混乱しています。javascriptのデザインパターン
のコード例はここにある:
function doSomethingCool(FeatureXYZ) {
var helper = FeatureXYZ ||
function() { /*.. default feature ..*/ };
var val = helper();
// ..
}
だから私はこの機能を使用したいです。
FeatureXYZが存在するかどうかわからないので、使用方法はわかりません。 doSomethingCool()はFeatureXYZを使用せず、doSomethingCool(FeatureXYZ)はFeatureXYZが存在しない場合にエラーをスローします。したがって、関数は無意味な関数である可能性があります。
ソリューションが、私の場合にはdosomethingcoolは、デフォルトの羽やfeatherxyzを使用するかどうかは全く機能は、我々が知らないcall.Asた方法は、外側環境にない依存すべきfeatherxyzの機能を使用すると、デフォルトのパラメータ方法を使用することができません(プロジェクトにファイルがあり、featurexyzが終了したかどうかわからないとします) – teek
'FeatureXYZ'が存在しない場合の期待結果は?デフォルトの関数が呼び出されるか、関数が呼び出されませんか?つまり、「FeatureXYZ」の存在または非存在に関してあなたが実装している論理は何ですか? – guest271314
は、dosomethingcool関数の中に書かれたデフォルトの関数を呼び出します。機能の外側にfeatherxyzしか存在しなかった場合、デフォルトの機能は削除されます。 – teek