Javascript 已编译CoffeeScript中的括号和点符号

Javascript 已编译CoffeeScript中的括号和点符号,javascript,coffeescript,Javascript,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["stati

我在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中,static是一个保留字

某些浏览器可能会抛出一个错误,如果它被用作带有
object.word
语法的对象属性


object['word']
确保不会抛出错误。

static
是javascript中的保留字(保留为将来用作关键字)

您可以在此处看到保留字列表:

例如,
x.in
编译为
x[“in”]
,因为
in
也是一个保留字