Operators
Existential Operator
CoffeeScript’s existential operator ? check if the variable is null or undefined.
1. Check for null or undefined.
alert "Hello CoffeeScript!" if myVar?javascript equivalent:
if (typeof myVar !== "undefined" && myVar !== null) {
alert("Hello CoffeeScript!");
}2. Safer conditional assignment
You can also use this operator safer conditional assignment
language = favoriteLanguage ? "coffeescript"javascript equivalent:
language = typeof favoriteLanguage !== "undefined" && favoriteLanguage !== null ? favoriteLanguage : "coffeescript";3. Safe chaining of methods
Instead of chaining the methods with . chain them with ?. to avoid raising the TypeError.
firstName = user?.profile?.firstnamejavascript equivalent:
firstName = typeof user !== "undefined" && user !== null ? (ref = user.profile) != null ? ref.firstname() : void 0 : void 0;If all of the properties exist then you’ll get the expected result if the chain is broken, undefined is returned
Full list of default operators
| CoffeeScript | JavaScript |
|---|---|
is, == |
=== |
isnt, != |
!== |
not |
! |
and |
&& |
or |
|| |
true, yes, on |
true |
false, no, off |
false |
@, this |
this |
of |
in |
in |
No equivalent |
a ** b |
Math.pow(a, b) |
a // b |
Math.floor(a / b) |
a %% b |
(a % b + b) % b |