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] );