Node.js不支持JavaScript1.8?
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