首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grunt-contrib-uglify在使用带默认值的函数参数时抛出错误

grunt-contrib-uglify在使用带默认值的函数参数时抛出错误
EN

Stack Overflow用户
提问于 2016-09-26 21:58:36
回答 1查看 825关注 0票数 4

我使用Grunt1.0.1和Grunt contrib- uglify 2.0.0来丑化我的项目的连接的.js文件。直到今天,我引入了一个带函数参数的JavaScript函数,该函数有一个默认值。

现在,Grunt任务将导致以下错误消息:

代码语言:javascript
复制
Running "uglify:app" (uglify) task
JS_Parse_Error {
  message: 'SyntaxError: Unexpected token operator «=», expected punc «,»',
filename: 'app.js',

该任务所关注的app.js行是:

代码语言:javascript
复制
function addNumbers(a, b=1){
  console.log(a + b); 
}

其中,该行中的确切列就是要找到b=1的位置。

如果我去掉默认值,一切都会恢复正常。

为什么grunt-contrib uglify在这里抱怨?我怎样才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-09-26 22:17:01

参考错误消息,您显然没有使用ES6。您为b设置默认值的方式仅在ES6中有效。

下面是为b设置默认值的方法

代码语言:javascript
复制
function addNumbers(a, b) {
  b = b || 1;
  console.log(a + b); 
}

如果您还想接受b的值为0,那么您可以检查b是否为undefined||是否不是number,以将b的默认值设置为1

代码语言:javascript
复制
function addNumbers(a, b) {
  b = (b === undefined || typeof b !== 'number') ? 1 : b;
  console.log(a + b); 
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39704915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档