I'm getting started with Node.js and I'm having a hard time figuring out what version of JavaScript is supported by node which makes it difficult figuring out what features I can use. Here's what I know.
Given this, I would assume I can use JavaScript 1.5 compatible code in node. However, it turns out I can use the Array.forEach
, among other constructs, even though according to MDC it isn't available until Javascript 1.6 -- ECMA-262, 5th edition.
Where am I going wrong? Is there a document somewhere that details the available language features?
This matrix (V8 follows the WebKit column fairly closely) seems to pretty well answer the question "what features can I use?" but I can't find a canonical answer to "what version of javascript is supported?" As far as I can tell, the best answer is this: ECMA-262 3rd edition is supported, but many features of the 5th edition are also supported.
There's a good explanation of why V8 follows the WebKit and JavaScriptCore functionality on this thread.