Node.js不支持JavaScript1.8?
发布于 3年前 作者 byvoid 1635 次浏览

https://developer.mozilla.org/en/JavaScript/New_in_JavaScript/1.8 中寫到JavaScript1.8開始支持lambda函數,例如:

function(x) { return x * x; }  

可以寫爲

function(x) x * x 

可是當我這麼寫的時候卻會出現 SyntaxError: Unexpected identifier 錯誤,怎麼回事?

4 回复

JavaScript 是 ECMAScript 的一个超集,而 node 所用的 v8 引擎只提供针对 ECMAScript 的支持。

@xqunix 我印象中node好像是根据CommonJs来实现的。

你说的没错,但是 CommonJS 仅仅是一个 API 规范(Specification),其并不包含具体的实现(Implementation)。

Node 则是对这个规范的一个实现,而其实现不包含对 JavaScript 1.8 的支持。

Try CoffeeScript ( http://coffeescript.org/ )

# Functions:
square = (x) -> x * x
回到顶部