なにかしらの処理をする関数があるとして、途中から意図せず引数が増えていってしまう場合があります。
function example(paramA,paramB,...paramZ){
const name = paramA;
const age = paramB;
// ...
// do something
}
example(paramA,paramB,paramD,paramE,paramC...)
こうなってしまうと引数の順番を間違える、必須、任意が混乱してしまうなど、エラーの温床になってしまうので、オブジェクトにして渡す方が安全で便利で楽です。
function example( obj ){
const name = obj?.name;
const age = obj?.age
// do something
}
example({
name:"Taro",
age: "21",
})
引数をオブジェクトにしておくことで、順番や必須/任意などをあまり気にすることなく書けます。また、分割代入を使うこともできます。
function jikoShokai( {name} ){
console.log( `I'm ${name} `)
}
const obj = {
name: 'Saburou',
age: 16,
job: 'Student'
}
jikoShokai(obj)