地球ウォーカー2

Scala, Python の勉強日記

JavaScriptの<code>return</code>

returnでちょっとハマったので今後同じミスをしないようにメモ。

var f = function() {
  return 
   {
     name : "hysa"
   }
};
f().name;  // hysaを期待

みたいなコードを書いたら、

TypeError: f() is undefined

となってしまって悩んだ。原因は、JavaScriptの場合、

  return 
   {
     name : "hysa"
   }

の部分が、セミコロンの自動挿入で

  return ;
   {
     name : "hysa"
   }

と解釈されてしまうから。これを防ぐためには、

var f = function() {
  return {
          name : "hysa"
         }
};
f().name;  // hysa

としないといけない。