我正在研究一个现有的项目并尝试使用gulp(grunt to gulp)将其中的一部分移动到另一个构建中,而我似乎遇到的错误之一就是使用'=>'似乎是指lodash,但我不确定。
这是其中一个lins的样子:
Object.keys(highlightTerms).forEach((k) => { msg = _highlightList(highlightTerms[k], k, msg); });
并且我不确定为什么要调用错误或者我如何更改错误以便gulp构建器编译它。
这发生在多个文件中。希望有一些亮点,我找不到任何相关的东西。
答案 0 :(得分:3)
这是javascript ES6语法。它是一个lambda函数,是匿名函数的简写。它相当于:
Object.keys(highlightTerms).forEach(function(k) {
msg = _highlightList(highlightTerms[k], k, msg);
}.bind(this));
更多信息here.
答案 1 :(得分:1)
=>
语法是arrow function,只有在支持ES6或ES2015的环境中才有效。它是普通匿名函数表示法的一种较短的替代方法。
您可以在gulp工作流程(将ES6编译为ES5)中使用babel等转录程序修复错误,或者将语法更改为ES5函数表达式。