質問: true obj.flag # true obj.toggle_flag # false ``` このような振る舞いのオブジェクトを作りたいのですが、 `toggle_flag`の中で`obj.flag`を参照するにはどうしたらよいのでしょうか。 `toggle_flag`の中で`this.flag`とするのかと思ったのですが、この場合`this`は`toggle_flag`をさすのか`obj`をさすのかわからず、困っています。 正しい知識を得たいので詳しく教えていただけないでしょうか。
回答: コンパイル結果は以下のようになります。 ``` var obj; obj = { flag: true, toggle_flag: function() { var flag; return flag = !flag; } }; //... ``` もし、`obj.toggle_flag()`で`obj.flag`を反転させ、その値を返したいのであれば ``` obj = flag: true toggle_flag: -> @flag = not @flag obj.flag # true obj.toggle_flag() # false obj.flag = true obj.flag # true obj.toggle_flag() # false ``` としてください。 > > 関数コンテキスト - > 和訳版 The Little Book on CoffeeScript - Syntax > > >