Does node.js support the 'let' statement?

Does node.js support a let statement something like what's described on MDN??

var x = 8,
    y = 12;

let ( x = 5, y = 10) {
    return x + y;
} //15

If not, is there a way to duplicate the functionality with a self-executing anonymous function or something?

And/or is there another js environment that

  1. has let and and
  2. has a REPL, as node does? Rhino?


This question was asked quite a while ago. As of now, late 2015, the answer is "Yes, yes it does". Harmony features were included by default in io.js 3.3, and have been recently brought back to node.js with the 4.x release.



I don’t think Node supports let, but you can do this:

var a = 5;

(function () {
  var a = 6;
  console.log(a); // => 6

console.log(a); // => 5

Yes, you can use let within node.js, however you have to run node using the optional --harmony flag. Try the following test.js:

"use strict"
var x = 8,
    y = 12;

{ let x = 5, y = 10; console.log(x + y); }

console.log(x + y);

And then run the file node --harmony test.js which results in:


I would not recommend using this in an important production application, but the functionality is available now.


This is an old question and the accepted answer is no longer correct.

let support was added in Node.js 4.x.

See here for the full version support matrix.

node --use_strict --harmony_scoping

You can use the Babel transpiler and use let as well as many other ES6/ES2015 features.

To use babel:

$ npm install --save-dev babel

Then in your package.json:

"scripts": {
  "start": "babel-node index.js"

Inside index.js:

let foo  = 'bar;

Then start the server:

$ npm start


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.