ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 関数呼び出しで名前付きパラメーターをシミュレートするにはどうすればよいですか?
JavaScript 関数呼び出しでの名前付きパラメーターのシミュレーション
C# などのプログラミング言語では、名前付きパラメーターを使用してパラメーター名を指定することで、明確かつ簡潔な関数呼び出しが可能になります。彼らの価値観と一緒に。ただし、JavaScript は本質的にこの機能を提供しません。ただし、同様の効果を達成する方法があります。
ES2015 以降: パラメータの構造化
ES2015 の導入により、パラメータの構造化には組み込みメカニズムが提供されます。名前付きパラメータをシミュレートします。この機能を使用すると、関数はオブジェクトを引数として受け入れ、特定のプロパティを名前付きパラメータとして抽出できます:
function myFunction({ param1, param2 } = {}) { // ...function body... }
呼び出し側は、目的のパラメータ値を持つオブジェクトを渡すことができます:
myFunction({ param1: 70, param2: 175 });
ES5: Function.prototype.toString とオブジェクトの関連付け
ES5 では、ハッキングこのメソッドでは、Function.prototype.toString() を使用して関数シグネチャを解析し、パラメーター名を識別します。これにより、オブジェクトのプロパティを対応するパラメータに関連付けることができます:
var func = parameterfy(function(a, b, c) { console.log('a is ' + a, ' | b is ' + b, ' | c is ' + c); }); func(1, 2, 3); // a is 1 | b is 2 | c is 3 func(1, {b:2, c:3}); // a is 1 | b is 2 | c is 3
ただし、このアプローチには欠点があります:
追加の考慮事項
関数ラッパーを作成する代わりに、関数と追加の引数を受け入れる関数を作成したり、関数を拡張したりすることもできます。名前付きパラメータを使用した関数の実行をサポートするプロトタイプ。
以上がJavaScript 関数呼び出しで名前付きパラメーターをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。