我使用Grunt1.0.1和Grunt contrib- uglify 2.0.0来丑化我的项目的连接的.js文件。直到今天,我引入了一个带函数参数的JavaScript函数,该函数有一个默认值。
现在,Grunt任务将导致以下错误消息:
Running "uglify:app" (uglify) task
JS_Parse_Error {
message: 'SyntaxError: Unexpected token operator «=», expected punc «,»',
filename: 'app.js',该任务所关注的app.js行是:
function addNumbers(a, b=1){
console.log(a + b);
}其中,该行中的确切列就是要找到b=1的位置。
如果我去掉默认值,一切都会恢复正常。
为什么grunt-contrib uglify在这里抱怨?我怎样才能解决这个问题?
发布于 2016-09-26 22:17:01
参考错误消息,您显然没有使用ES6。您为b设置默认值的方式仅在ES6中有效。
下面是为b设置默认值的方法
function addNumbers(a, b) {
b = b || 1;
console.log(a + b);
}如果您还想接受b的值为0,那么您可以检查b是否为undefined,||是否不是number,以将b的默认值设置为1。
function addNumbers(a, b) {
b = (b === undefined || typeof b !== 'number') ? 1 : b;
console.log(a + b);
}https://stackoverflow.com/questions/39704915
复制相似问题