CoffeeScript Documentation
Main Page
Files
browser.coffee
cake.coffee
coffeescript.coffee
command.coffee
grammar.coffee
helpers.coffee
index.coffee
lexer.coffee
nodes.coffee
optparse.coffee
register.coffee
repl.coffee
rewriter.coffee
scope.litcoffee
sourcemap.litcoffee
Guides
"text/coffeescript" Script Tags
Annotated Source
Argument parsing and shebang (#!) lines
Array Slicing and Splicing with Ranges
Async Functions
Block Regular Expressions
Books
Bound (Fat Arrow) Functions
Bound (fat arrow) functions
Bound generator functions
Breaking Changes From CoffeeScript 1.x to 2
Build Tools
Cake, and Cakefiles
Chained Comparisons
Chaining Function Calls
Changelog
Classes
Classes are compiled to ES2015 classes
Code Editors
CoffeeScript 2
Command Line
Comments
Compatibility
Contributing
Default values for function parameters and destructured elements
Destructuring Assignment
Embedded JavaScript
Everything is an Expression (at least, as much as possible)
Examples
Frameworks
Functions
Generator Functions
If, Else, Unless, and Conditional Assignment
Installation
Integrations
JSX
JSX and the < and > operators
Language Reference
Lexical Scoping and Variable Safety
Linters and Formatting
Literate CoffeeScript
Literate CoffeeScript parsing
Loops and Comprehensions
Modules
Named functions and function declarations
Node.js
Objects and Arrays
Operators and Aliases
Prototypal Inheritance
Resources
Screencasts
Source Maps
Splats, or Rest Parameters/Spread Syntax
Strings
Switch/When/Else
Tagged Template Literals
Testing
The Existential Operator
Transpilation
Try/Catch/Finally
Type Annotations
Unsupported ECMAScript Features
Usage
Web Chat (IRC)
What’s New In CoffeeScript 2?
get and set keyword shorthand syntax
let and const: block-scoped and reassignment-protected variables
super and extends
super and this