_name というフィールドのセッター/ゲッター値をオーバーロードしようとしています。これは機能しますが、非常に冗長であるため、coffeescriptでこれを行う簡単な方法があるかどうか疑問に思っていました。
class MyObject
constructor: (@_defaultName) ->
name: (colName) ->
@_name = colName if colName?
if @_name then @_name else @_defaultName
パラメータが設定されていない場合の name メソッドについては、メソッドを getter として扱い、_name 値を返すか、_name が設定されていない場合はデフォルトを返します。このようなことをもっとやりたいのですが、正しく動作させることができません:
class MyObject
constructor: (@_defaultName) ->
name: (@_name) -> if @_name? then @_name else @_defaultName
このようなパターンはすでに存在しますか?お時間をいただきありがとうございます。