Eventhough I am using CoffeeScript for a couple of months now, many of the feature were still unknown to me. Two days before I got hands into two such features which I wish I have known from the beginning.
Existential Operator
Existential operator will help you to check whether the variable exists or not. It is similar to ruby’s .nil?
method. consider we have a variable named open
. we can check whether when open exists using open?
which returns true
if the variable is already defined.
if open?
console.log "Hello"
This wil be compiled to
if (typeof open !== "undefined" && open !== null) {
console.log("Hello");
}
This can be used to set the default values/ conditional assinments like
data = {}
data.open ?= true
It says, if data.open
is null
then set it to true
. This will be compiled to
if (data.open == null) {
data.open = true;
}
You can read more about exisitential operator below the operators section.
Multiline comments
Couple of days before only I came to know about the multiline comment with ###
in CoffeeScript. Till that I were using #
(single line comment).
###
$->
console.log "Hello"
###