Если у меня есть класс, я передаю несколько параметров:
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;
и в coffescript:
@bar = parameters.bar ? 10
Так элегантно и компактно!