⊗jsPmDstFP 311 of 505 menu

JavaScriptにおける関数パラメータの分割代入

分割代入にはもう一つ非常に重要な 応用分野があります - それは関数パラメータの 受け渡しです。要点は次の通りです:関数が パラメータとして配列を受け取る場合、 関数の宣言内で直接、その配列をどのように 分割するかを指定できます。

例を見てみましょう。年、月、日を 含む配列をパラメータとして受け取る関数が あるとします:

func([2025, 12, 31]);

この配列をどの変数に分割するかを、 関数のパラメータ内で直接指定してみましょう:

function func([year, month, day]) { console.log(year); // 2025 を表示 console.log(month); // 12 を表示 console.log(day); // 31 を表示 }

上記の構文は、関数の一つのパラメータとして 考える必要があります。必要に応じて さらにパラメータを追加することもできます:

func('str1', [2025, 12, 31], 'str2'); function func(param1, [year, month, day], param2) { console.log(param1); // 'str1' を表示 console.log(year); // 2025 を表示 console.log(month); // 12 を表示 console.log(day); // 31 を表示 console.log(param2); // 'str2' を表示 }

次の例では、関数の最初と2番目のパラメータとして 配列が渡され、その両方を分割代入しています:

func([2025, 12, 31], [2026, 11, 30]); function func([year1, month1, day1], [year2, month2, day2]) { console.log(year1); // 2025 を表示 console.log(month1); // 12 を表示 console.log(day1); // 31 を表示 console.log(year2); // 2026 を表示 console.log(month2); // 11 を表示 console.log(day2); // 30 を表示 }

学んだ理論に基づいて、分割代入を使用して 次のコードを書き直してください:

function func(employee) { let name = employee[0]; let surname = employee[1]; let department = employee[2]; let position = employee[3]; let salary = employee[4]; } func( ['John', 'Smit', 'development', 'programmer', 2000] );

学んだ理論に基づいて、分割代入を使用して 次のコードを書き直してください:

function func(employee) { let name = employee[0]; let surname = employee[1]; let info = employee[2]; } func( ['John', 'Smit', 'development', 'programmer', 2000] );

学んだ理論に基づいて、分割代入を使用して 次のコードを書き直してください:

function func(employee) { let name = employee[0]; let surname = employee[1]; let department = employee[2]; let position; if (arr[3] !== undefined) { position = arr[3]; } else { position = 'junior'; } } func( ['John', 'Smit', 'development'] );

学んだ理論に基づいて、分割代入を使用して 次のコードを書き直してください:

function func(department, employee, hired) { let name = employee[0]; let surname = employee[1]; let year = hired[0]; let month = hired[1]; let day = hired[2]; } func( 'development', ['John', 'Smit'], [2018, 12, 31] );
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否