johns = (n for n in ['John', 'Marcy'] when n is 'John')
Slide 92
Slide 92 text
users = john: 23, marcy: 29
!
ageReport = for name, age of users
"#{name} is #{age}"
Slide 93
Slide 93 text
Whitespace sensitive
Slide 94
Slide 94 text
“Everything’s an expression”
Implicit return
Slide 95
Slide 95 text
foo =-> "bar"
Slide 96
Slide 96 text
grade = (student) ->
if student.excellentWork
"A+"
else if student.okayStuff
if student.triedHard then "B" else "B-"
else
"C"
eldest = if 24 > 21 then "Liz" else "Ike"
Slide 97
Slide 97 text
[lastName, age] =
if name == 'John' then ['Doe', 23]
else if name == 'Marcy' then ['Murcy', 29]
else ['Unknown' ]
!
console.log lastName, age
Slide 98
Slide 98 text
Postfix conditionals
Slide 99
Slide 99 text
console.log("42") if question is true
Slide 100
Slide 100 text
Operators and aliases
Slide 101
Slide 101 text
invite(user) if user?
# typeof user !== "undefined" && user !== null
!
!
name = userName ? 'John'
Slide 102
Slide 102 text
launch() if ignition is on
!
volume = 10 if band isnt SpinalTap
!
letTheWildRumpusBegin() unless answer is no
!
letIn() if name in ['John', 'Marcy']
Slide 103
Slide 103 text
Ranges
Slide 104
Slide 104 text
countdown = (num for num in [10..1])
Slide 105
Slide 105 text
Verdict?
Slide 106
Slide 106 text
Try it now,
switch later
(where applicable)
Slide 107
Slide 107 text
“
But one thing is for certain:
we must embrace
the moving target.