簡體   English   中英

編譯的CoffeeScript中的括號和點符號

[英]Bracket and dot notation in compiled CoffeeScript

我在Node / Express應用程序中有這段代碼:

app.use "/static", express.directory("#{__dirname}/public")
app.use "/static", express.static("#{__dirname}/public")

它匯總到這個:

app.use("/static", express.directory("" + __dirname + "/public"));
app.use("/static", express["static"]("" + __dirname + "/public"));

由於好奇,我想知道:為什么第一次通話使用點符號,第二次通話使用括號表示法?

因為static是在ES3中保留的。 (不再是ES5)。

因為靜態是EcmaScript 5之前的Javascript中的保留字。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Reserved_Words

如果某些瀏覽器用作object.word語法的對象屬性,則可能會拋出錯誤。

object['word']確保不會拋出任何錯誤。

static是javascript中的保留字(保留供將來用作關鍵字)。

您可以在此處查看保留字列表: https//developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Reserved_Words

例如, x.in編譯為x["in"] ,因為in也是保留字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM