Деконструкция списка параметров в конструкторе класса -Coffeescript

Если у меня есть класс, которому я передаю ряд параметров:

class Foo

  constructor: (parameters) ->

  @bar = parameters.bar
  @moo = parameters.moo

Класс создается так:

foo = new Foo(bar: 2, moo: 8)

Мой вопрос заключается в том, какой самый элегантный способ определить в конструкторе, существуют ли передаваемые переменные, и если не установить значение по умолчанию. То, как я сделал бы это в javascript, было бы:

this.bar = ( parameters.bar !== undefined ) ? parameters.bar : 10;

где 10 по умолчанию.

Спасибо за помощь:)

Хорошие ответы -Просто для лучшего летнего отдыха:

Чтобы определить, существует ли параметр, и определить значение по умолчанию, если это не так, в javascript:

this.bar = ( parameters.bar !== undefined ) ? parameters.bar : 10;

а в кофескрипте:

@bar = parameters.bar ? 10

Такой элегантный и компактный!

18
задан Jamie Fearon 16 July 2012 в 11:29
поделиться