SyntaxError:在严格模式下使用const
我正在使用node.js,在我的一个js文件中,我在const
中使用"strict mode"
。当试图运行它时,我收到一个错误:
SyntaxError: Use of const in strict mode.
这样做的最佳做法是什么?
编辑:
'use strict'
const MAX_IMAGE_SIZE = 1024*1024; // 1 MB
回答如下:
const
和let
是ECMAScript 2015(a.k.a. ES6和Harmony)的一部分,默认情况下未在Node.js 0.10或0.12中启用。从Node.js 4.x开始,“所有出货[ES2015]功能,V8认为稳定,默认情况下在Node.js上打开,不需要任何类型的运行时标志。” Node.js docs has an overview of what ES2015 features are enabled by default, and which who require a runtime flag。因此,通过升级到Node.js 4.x或更新版本,错误应该消失。
在Node.js 0.10和0.12中启用一些ECMAScript 2015功能(包括const
和let
);使用和声标志启动节点程序,否则会出现语法错误。例如:
node --harmony app.js
这完全取决于您的严格js所在的一侧。我建议在服务器端使用带有const
声明的严格模式,并使用和声标志启动服务器。对于客户端,您应该使用Babel或类似工具将ES2015转换为ES5,因为并非所有客户端浏览器都支持const
声明。
SyntaxError:在严格模式下使用const
我正在使用node.js,在我的一个js文件中,我在const
中使用"strict mode"
。当试图运行它时,我收到一个错误:
SyntaxError: Use of const in strict mode.
这样做的最佳做法是什么?
编辑:
'use strict'
const MAX_IMAGE_SIZE = 1024*1024; // 1 MB
回答如下:
const
和let
是ECMAScript 2015(a.k.a. ES6和Harmony)的一部分,默认情况下未在Node.js 0.10或0.12中启用。从Node.js 4.x开始,“所有出货[ES2015]功能,V8认为稳定,默认情况下在Node.js上打开,不需要任何类型的运行时标志。” Node.js docs has an overview of what ES2015 features are enabled by default, and which who require a runtime flag。因此,通过升级到Node.js 4.x或更新版本,错误应该消失。
在Node.js 0.10和0.12中启用一些ECMAScript 2015功能(包括const
和let
);使用和声标志启动节点程序,否则会出现语法错误。例如:
node --harmony app.js
这完全取决于您的严格js所在的一侧。我建议在服务器端使用带有const
声明的严格模式,并使用和声标志启动服务器。对于客户端,您应该使用Babel或类似工具将ES2015转换为ES5,因为并非所有客户端浏览器都支持const
声明。