ホームページ >ウェブフロントエンド >jsチュートリアル >ES6 で非構造化関数パラメータを使用するときに元のオブジェクト名を保持する方法は?
ES6 の構造化された関数パラメーターでのルート オブジェクト名の保持
ES6 では、関数パラメーターを構造化することで、個々のオブジェクト プロパティを簡潔に抽出できます。ただし、特定のプロパティのみが構造化されていない場合に、ルート オブジェクトの名前をどのように保持するかという問題が生じます。
ES5 でルート オブジェクトを渡す
ES5 では、オブジェクトは、継承メタファーを使用して参照によって渡すことができます。たとえば、「setupParentClass5」関数は「options」オブジェクトを受け取り、それを使用して「textEditor」を構成します。 「setupChildClass5」関数は、「setupParentClass5(options)」を呼び出すことでこれらのオプションを継承します。
ES6 の構造化に関する課題
ES6 では、「const {rows」のような構造化されたパラメータを使用します。 「setupParentClass6」の「, columns}」は、リストされている特定のプロパティのみを抽出します。これにより、「setupChildClass6」内でルートの「options」オブジェクトにアクセスできなくなる可能性があります。
追加の引数を使用した解決策
1 つの解決策は、次に示すように追加の引数を追加することです。 :
const setupChildClass6 = options => { const {minVal, maxVal} = options; rangeSlider.setup(minVal, maxVal); setupParentClass6(options); };
このアプローチにより、「setupChildClass6」は、非構造化プロパティと非構造化プロパティの両方を含む完全な「options」オブジェクトにアクセスできるようになります。
以上がES6 で非構造化関数パラメータを使用するときに元のオブジェクト名を保持する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。