[CoffeeScript] Level 3: Conditionals & Operators -- Ex

Conditionals

Make sure the alert function is called only if caffeineLevel > 5.

alert 'High Caffeine Level' if caffeineLevel > 5

 

Conditionals - Part II

CoffeeScript does not support ternary operators. Change the code below to use if/then/else.

if caffeineLevel > 5 then alert 'Too High' else alert 'OK'

 

Conditionals - Part III

Rewrite the javascript below to use an unless conditional.

alert 'Please wait 5 more minutes.' unless coffeeReady

 

Chained Comparisons

Rewrite the if below to use CoffeeScript's chained comparisons syntax.

if lowLevel < newLevel && newLevel < highLevel
  alert 'ok'
else
  alert 'abnormal caffeine level'

Answer:

if lowLevel < newLevel  < highLevel
  alert 'ok'
else
  alert 'abnormal caffeine level'

 

Switch/Case

Given the JavaScript code below, rewrite it in CoffeeScript using a switch/when expression.

# if (newLevel === 1) {
#   message = 'Out of bed yet?';
# } else if (newLevel === 2) {
#   message = 'Good morning!';
# } else {
#   message = 'You should stop while you can';
# }

message = switch newLevel 
  when 1 then 'Out of bed yet?'
  when 2 then 'Good morning!'
  else 'You should stop while you can'

 

 

Existential Operator

Make use of CoffeeScript's existential operator (the ?) to rewrite the JavaScript code below using CoffeeScript.

# if (typeof newLevel !== "undefined" && newLevel !== null){
#   checkLevel(newLevel);
# } else {
#   resetLevel();
# }

if newLevel? then checkLevel(newLevel) else resetLeve()

 

Existential Operator - Part II

Use the existential operator (the ?) to make sure the checkLevel and resetLevel functions are defined before calling them.

if level?
  checkLevel?(level)
else
  resetLevel?()

 

posted @ 2014-09-30 19:36  Zhentiw  阅读(198)  评论(0)    收藏  举报