名前をつけるのがめんどくさい時 – 無名JavaScript

プログラムを組んでいるとき、名前をつけるのがめんどくさいと思うことが多々多々ある。
そんなときはどうしているのかというと、大抵、

var a = 'string';
function b(){
   return a;
}

といった具合に適当につける。

ひどい場合は、

var ahya = function(){
   return;
}

とか、

var moe = 'ahyao';
var ooiwa = function(){
   return moe;
}

など、人名使ったり、宇宙語使ったり…。

そこで、前回のブログで紹介した、無名関数や無名コンストラクタを使うことで、名前を考えずにとも、ある一定のルールに従ってプログラムを組めば、毎回名前を考える必要はないパターンを紹介する。

まずは、無名関数でグローバル領域を汚さないようにする

//無名関数
(function(){
   //ここにソース
})();

そして、いきなり実行する無名コンストラクタを実装する

//無名関数
(function(){
   //無名コンストラクタ
   new function(){
      //ここにソース
   }
})();

コンストラクタ内で呼び出したい関数があれば、
無名関数の中に実装する。

//無名関数
(function(){
   //無名コンストラクタ
   new function(){
      //ここにソース
   }
   //method_a
   var a = fuction(arg){
      //ここにソース
      return arg;
   }
   //method_b
   var b = fuction(arg){
      //ここにソース
      return arg;
   }
})();

引数に関しても、名前をつけるのがめんどくさい時がある。
さらに、引数の数も決まってない上に、増える可能性がある場合は、
引数を配列として取得するなり、オブジェクトにしてしまうなり方法は色々ある。

new function(arg){
   var name = arg.name;
   var age = arg.age;
   var bloodType = arg.bloodType;
}({
   name: 'funnythingz',
   age: 25,
   bloodType: 'RH-AB'
});

というようにも書ける。
そうすると、引数を定義するときもすっきり見やすくわかりやすくなる。

めんどくさがりな人にはこんな書き方もあるということです。

カテゴリー: JavaScript   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>