Всем привет! В этом материале рассмотрим, как создавать условия в coffeescript .

Изучаем CoffeeScript. Условия.

Всем привет! В этом материале рассмотрим, как создавать условия в coffeescript.

Опять же, я буду приводить код сначала на coffeescript, а затем то, что в итоге скомпилируется в javascript. Думаю, вы все и так прекрасно поймете.

Итак, вот как задаются условия в coffeescript

if isReady
  activate something
  if not isFull
   append something
else
  do prepare

Скомпилированный код

if (isReady) {
  activate(something);
  if(!isFull) {
   append(something);
  }
}
else {
  prepare();
}

Заметьте, что в coffeescript очень важны отступы, они и показывают, где будут находиться условия.

Если ваше условие не очень вложенное, то будет красивее записать его в одну строчку, однако, чтобы дать понять компилятору, где у вас есть что, нужно использовать ключевое слово then

if isReady then activate something

Впрочем, можно записать и так

activate something if isReady

Также, вы можете не писать if not, а просто написать unless, и это будет абсолютно то же самое.

Условие if может заменять тернарный оператор, который отсутствует в coffeescript

action = if mode is "idle" then "sleep" else "wander"
show if message then message else warning

Получим следующее

action = mode === "idle" ? "sleep" : "wander";
show(message ? message : warning);

Теперь перейдем к выражению switch.

switch state
  when 0 then message = "request not initialized"
  when 1 then message = "server connection established"
  else message = "unknown state"

Результат на javascript

var message;
switch(state) {
  case 0:
   message = "request not initialized";
   break;
  case 1:
   message = "server connection established";
   break;
  default:
   message = "unknown state";
}

Заметьте, break компилятор ставит автоматически.

Итак, вот так просто можно писать условия в coffeescript.

А у меня на этом все. Спасибо за внимание!