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:
Yesterday, while I was at work, my sister stole my apple ipad and tested to see if it
can survive a 25 foot drop, just so she can be a youtube sensation. My apple
ipad is now destroyed and she has 83 views.
I know this is completely off topic but I had to
share it with someone!
Thanks designed for sharing such a pleasant thought, piece of writing is
nice, thats why i have read it completely
I got this web page from my friend who shared
with me about this web site and at the moment this time I am browsing this website and
reading very informative articles or reviews at this place.
Je veux juste dire que très satisfait(e) d’avoir trouvé le site 1win aviator — super !
jouer aviator
I pay a quick visit daily some blogs and information sites to read
articles or reviews, except this web site offers quality based
articles.
소액결제현금화(휴대폰결제현금화 또는 정보이용료현금화라고도 불림)는
휴대폰 소액결제 한도를 활용해 상품권이나 콘텐츠 이용료 등을 구매한
뒤, 이를 다시 판매
Quality posts is the important to be a focus for the visitors to pay a visit
the web page, that’s what this web page is providing.