尝试缩小javascript时出现意外标记:运算符(>;)?

尝试缩小javascript时出现意外标记:运算符(>;)?,javascript,Javascript,我正在尝试使用在线工具缩小javascript代码,但每次我尝试这样做时,都会出现以下错误: // Error : Unexpected token: operator (>) // Line : 1 // Col : 41 这是第1行: var result = parsedObject.filter( audio => audio.filename === ''+audioFile+'' ); 有人能就这个问题和如何解决这个问题提出建议吗 提前谢谢 显然,你的迷你们不

我正在尝试使用在线工具缩小javascript代码,但每次我尝试这样做时,都会出现以下错误:

// Error : Unexpected token: operator (>)
// Line  : 1
// Col   : 41
这是第1行:

var result = parsedObject.filter( audio => audio.filename === ''+audioFile+'' ); 
有人能就这个问题和如何解决这个问题提出建议吗


提前谢谢

显然,你的迷你们不明白,或者它需要设置一些选项来知道你在做ES2015+(“ES6+”)之类的事情。你的选择是:

  • 如果有选项,则打开该选项;或

    (您现在告诉我们您已经尝试了这两种方法,并且.jscompress.com在右上角有一个“ECMAScript 2018(via Babili)”勾选框,勾选后可以缩小示例代码。我在javascript minifier.com上找不到选项。)

  • 如果没有,就换一个能理解他们的名字;或

  • 不要使用箭头函数。在这种特殊情况下,它看起来像:

    var result = parsedObject.filter(function(audio) {
        return audio.filename === ''+audioFile+'';
    }); 
    
  • 使用箭头功能,但在使用类似transpiler的工具缩小之前,请将其转换为非箭头

  • 如果您需要支持任何版本的IE,则无需向浏览器发送箭头功能(使用上述选项3或4)。如果您不需要支持IE,只需支持Edge、Chrome、Firefox和Safari等现代浏览器,那么向浏览器发送箭头功能就可以了


    旁注:您不需要将这些
    '
    放在
    音频文件
    的两侧。如果它已经是一个字符串,只需删除它们(
    ==audioFile
    )。如果它还不是一个字符串,只需执行其中一个操作,或者使用
    字符串(音频文件)
    转换它,并在
    过滤器
    循环之前执行一次

    var audioFileString = String(audioFile); // or `'' + audioFile` or `audioFile + ''`
    var result = parsedObject.filter(function(audio) {
        return audio.filename === audioFileString;
    }); 
    

    您使用的工具不支持箭头功能(这是一项相对较新的功能)

    你可以:

    • 找到一个支持现代JS的缩小工具
    • 首先不要使用箭头功能
    • 在缩小JS之前,使用工具将其转换为ES5

    很可能您的工具不支持ES6语法,可能它不支持ES6您使用的是哪种工具?JamesJuanjie-如果您愿意回答,它会的。有什么可能的理由不这样做?你不想帮助别人帮助你吗?如果@Bill或其他人碰巧知道您尝试使用的工具具有启用ES2015+功能的选项,该怎么办?繁荣回答@T.J.Crowder,天哪,链接错误。很抱歉我的意思是:还有,可能会有帮助。我试着打开在缩小文件中使用lambda操作符的选项,但无法打开,然后我尝试了上面提到的第三个选项,它对我有效。