Explanation
“@instance:” allows us to attach an object/value to the Foo class instead of Foo’s prototype. Recall that “@” in CoffeeScript refers to JavaScript’s “this”.
After “@instance:” there is a function that is immediately executed. This function returns a function, closed around a variable called instance. Both these functions have their context (their “this”) bound to the Foo object using CoffeeScript’s wonderful “define and bind” operator “=>” as opposed to the normal function definition operator “->”.
When called, the function that “@instance” ends up referring to simply checks to see if the “instance” variable is empty and if so, assigns a new instance of Foo to it. Newing up a Foo is done using the “@” symbol since the function’s “this” refers to the Foo object. It then returns the instance.
Output
The CoffeeScript above compiles down to this:
Piece of writing writing is also a fun, if you know afterward you can write or else it is complicated to write.
What’s up, its pleasant post regarding media print, we all know media is a enormous
source of information.
I every time emailed this blog post page to all
my friends, as if like to read it afterward my links
will too.
Somebody necessarily assist to make severely posts I
would state. This is the very first time I frequented your website page and to
this point? I surprised with the analysis you made to create this actual post incredible.
Fantastic activity!