kade

技術系の記事を書いていきます。

javascript: 何個でも引数を使う関数

どう表現すればよいかわからなかったので、変なタイトルですが、javascriptの関数で、引数の数によって処理を変えたりすることが出来ます。

function welcomeMsg(){
  var name = "ゲスト";
  var msg = "こんにちは";
  var argLength = arguments.length;
  if(argLength>=1){
    name = arguments[0];
  }
  if(argLength>=2){
    msg = arguments[1];
  }
  console.log(name+"さん、"+msg);
}

welcomeMsg();// ゲストさん、こんにちは
welcomeMsg("KaDE");//KaDEさん、こんにちは
welcomeMsg("KaDE","いらっしゃい");//KaDEさん、いらっしゃい

これ使わなくても関数を細分化すればDRYでなんとかなりそうではありますし、引数に名前を付けられないので、これを使わないと!みたいな場面は想像出来ませんが。

開眼!  JavaScript ―言語仕様から学ぶJavaScriptの本質

開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質