我的函数具有默认值,如下所示:
function f(a, b = 'something') {
//do stuff
}这很好,但如果我试图使用在线相关应用程序缩小JS文件,就会发生以下错误:
错误:意外令牌运算符'=',预期的朋c ',‘
据我所知,使用=设置Javascript的默认值是合法的,那么为什么我会收到这个错误呢?
是否必须在函数体中定义默认值?
发布于 2016-03-27 13:53:42
使用=为Javascript中的函数参数设置默认值是一个ES6特性,目前只有Chrome49和Firefox15.0支持:

由于浏览器支持有限,很少(如果有的话)小型机已经支持此功能。
备选案文1:
您可以设置如下默认参数:
function f(a, b) {
b = typeof b === 'undefined' ? 'something' : b;
//do stuff
}备选案文2:
您可以使用像巴贝尔这样的转发程序来将ES6代码转换为旧的浏览器&小型浏览器所能理解的内容。
发布于 2016-03-27 13:51:36
默认参数是EcmaScript的一个新特性,它与ES6 (正式名称为ES2015)一起出现。
大多数小型机都不是最新的。不过,您可以在大部分的# uglifyjs的和谐分支中使用ES6。
尽管如此,由于它们的支持仍然有限,默认参数在浏览器中实际上是不可用的,除非
如果您还没有准备好使用这些解决方案之一,请小心使用所有MDN页面的https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/default_parameters#Browser_compatibility。
发布于 2016-03-27 14:00:56
你怎么缩小?如果您使用类似于大口吞下的东西,您可以使用pipe()链接它,例如:
gulp('src.js').pipe(babel()).pipe(minify());另一方面,您可以使用旧风格的“默认值”:
function (a, b) {
b = b || 'default';
}https://stackoverflow.com/questions/36247969
复制相似问题