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:
Hi there, all the time i used to check web site posts here early in the morning, for the reason that i love to find out more and more.
A person essentially assist to make seriously
articles I’d state. This is the very first time I frequented your web page and up to now?
I surprised with the analysis you made to create this actual publish
amazing. Fantastic task!
Winpro129
Have you ever considered creating an ebook or guest authoring on other blogs?
I have a blog based upon on the same ideas you discuss and would love to have you
share some stories/information. I know my readers would appreciate your
work. If you are even remotely interested, feel free to send me
an e-mail.
Saved as a favorite, I love your website!
What’s up colleagues, fastidious post and good arguments commented at this place,
I am truly enjoying by these.
Thanks for finally talking about > CoffeeScript lazy singleton class instance
function | freestyle developments < Loved it!
Hiya! Quick question that’s completely off topic. Do you know how to make your site
mobile friendly? My web site looks weird when browsing from my apple iphone.
I’m trying to find a theme or plugin that might be able to
correct this problem. If you have any recommendations, please share.
With thanks!
Good post. I definitely love this website. Keep writing!
porn300 – The design is straightforward, makes browsing feel easy and relaxed.