2013-08-06 55 views
2

我在一些技術博客網站上看到了一些使用奇怪語法的NodeJS代碼示例。我是否生活在一塊岩石下,或者這只是玩耍愚蠢的鬧鬼的語法熒光筆?NodeJS示例中的奇怪JavaScript語法

例子:

module.exports = (app) -> 
    app.get '/', (req, res) -> 
    res.send('hello world') 

我相信這樣的事實,這是一個快速的應用程序是學術。溫柔回答您的問題...

+0

這是CoffeeScript的語法,而不是JavaScript語法 –

+0

哈哈對我來說太 –

回答

5

這不是JavaScript;那是CoffeeScript!在任何意義上你都不會錯過任何東西......

(CoffeeScript中的NPM包,您可以使用coffee運行CoffeeScript的節點下。)

+0

是「......在各種意義上」的意思是在CoffeeScript的一個鏡頭?我個人認爲不值得爲某些語義糖學習一種全新的語法,但我可以明白爲什麼有些人會這樣做。 (特別是如果他們來自Pythonic背景比C++/Java更多) – Retsam

+1

@Retsam:是的,它是:)也許這屬於博客文章中。 – Ryan

+1

@minitech我明白你的觀點。剛剛訪問過CS鏈接,並遭受了巨大的打哈欠。從來沒有想過我會說「從來沒有」的技術,但我的上帝看起來毫無意義。這說明了一切:「CoffeeScript的黃金法則是:」它只是JavaScript「# – shennan

0

您發佈的示例代碼爲CoffeeScript,直接編譯成JavaScript的一個Ruby/Python的語言一樣。這是在JavaScript等價物:

module.exports = function (app) { 
    app.get('/', function (req, res) { 
     res.send('hello world'); 
    }); 
}; 
+1

是的,我可以很好地理解JavaScript的等價物 - 它非常相似,因此看起來毫無意義?但我聽說它很受歡迎。 – shennan

+0

@shennan它確實使您的代碼看起來更乾淨整潔(因爲您可以縮短各種部分),但我想這主要是一種文體選擇,因爲沒有*真正的*好處。 – mc10