使用默认值问题缩小javascript

ale*_*lex 15 javascript default-value minify bundling-and-minification

我有一个默认值的函数,如下所示:

function f(a, b = 'something') {
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但如果我尝试使用在线相关应用程序缩小我的JS文件,则会出现错误:

错误:意外的令牌运算符'=',预期的punc','

据我所知,使用Javascript=设置默认值是合法的,为什么我会收到此错误?

我是否必须在函数体中定义默认值?

Joh*_*ers 15

利用=设置在JavaScript函数参数的缺省默认值是一个ES6功能,目前仅由Chrome 49和Firefox 15.0的支持:

在此输入图像描述

由于浏览器支持有限,很少(如果有的话)缩小器已经支持此功能.

备选方案1:

您可以像这样设置默认参数:

function f(a, b) {
    b = typeof b  === 'undefined' ? 'something' : b;
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

备选方案2:

您可以使用像Babel这样的转换器将ES6代码转换为旧版浏览器和缩放器所能理解的内容.