JavaScriptの引数にオブジェクトを使用する

なにかしらの処理をする関数があるとして、途中から意図せず引数が増えていってしまう場合があります。


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)
タイトルとURLをコピーしました