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:
Hello! I just wanted to ask if you ever have any problems with hackers?
My last blog (wordpress) was hacked and I ended up losing months of hard work
due to no back up. Do you have any solutions to stop hackers?
When I originally commented I clicked thee “Notify me when new comments are added” checkbox and now each time a comment is added I get three e-mails with
thee same comment. Is theree any way you can remove me from that service?
Thanks a lot!
Ig粉絲
Tetap terhubung lewat Link Alternatif BEJOGAMING. Akses
cepat, anti blokir, dan stabil untuk pengalaman gaming terbaik
di situs game online Indonesia.
PINK SALT TRICK
Центр ментального здоровья «Эмпатия» полезные советы для здоровья
PINK SALT TRICK RECIPE
Its like you read my mind! You appear to know so much about this,
like you wrote the book in it or something.
I think that you can do with some pics to drive the message home a
bit, but other than that, this is excellent blog.
A fantastic read. I’ll certainly be back.