Slide 1

Slide 1 text

CoffeeScript Patterns Explained A walk through CoffeeScript generated JavaScript Saturday, October 6, 12

Slide 2

Slide 2 text

My name is Dayton Nolan I work for Saturday, October 6, 12

Slide 3

Slide 3 text

Hello CoffeeScript Saturday, October 6, 12

Slide 4

Slide 4 text

Hoisting Saturday, October 6, 12

Slide 5

Slide 5 text

Saturday, October 6, 12

Slide 6

Slide 6 text

Function Declaration vs. Assignment Saturday, October 6, 12

Slide 7

Slide 7 text

Function body is hoisted with declaration. Function name only is hoisted with assignment. Saturday, October 6, 12

Slide 8

Slide 8 text

JavaScript Arguments Saturday, October 6, 12

Slide 9

Slide 9 text

Saturday, October 6, 12

Slide 10

Slide 10 text

Dynamic function signatures Saturday, October 6, 12

Slide 11

Slide 11 text

CoffeeScript Splats Saturday, October 6, 12

Slide 12

Slide 12 text

CoffeeScript Splats !== Ruby Splats Saturday, October 6, 12

Slide 13

Slide 13 text

Saturday, October 6, 12

Slide 14

Slide 14 text

CoffeeScript Classes Saturday, October 6, 12

Slide 15

Slide 15 text

Saturday, October 6, 12

Slide 16

Slide 16 text

Closures and IIFE’s Saturday, October 6, 12

Slide 17

Slide 17 text

Global Scope Saturday, October 6, 12

Slide 18

Slide 18 text

Outer scope closes over the inner scope, creating a closure Saturday, October 6, 12

Slide 19

Slide 19 text

Immediate execution promotes returned value to outer scope Saturday, October 6, 12

Slide 20

Slide 20 text

Class Pattern in JavaScript Public Interface Private Private Hoisted Saturday, October 6, 12

Slide 21

Slide 21 text

JavaScript Inheritance Pattern Saturday, October 6, 12

Slide 22

Slide 22 text

CoffeeScript Fat Arrow Binding Reference Current Scope Saturday, October 6, 12

Slide 23

Slide 23 text

In JavaScript, managing scope is job #1 Saturday, October 6, 12

Slide 24

Slide 24 text

Thank You Saturday, October 6, 12