[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?()