Lodash'=>'语法含义

时间:2016-08-11 14:46:26

标签: javascript syntax

我正在研究一个现有的项目并尝试使用gulp(grunt to gulp)将其中的一部分移动到另一个构建中,而我似乎遇到的错误之一就是使用'=>'似乎是指lodash,但我不确定。

这是其中一个lins的样子:

 Object.keys(highlightTerms).forEach((k) => { msg = _highlightList(highlightTerms[k], k, msg); });

并且我不确定为什么要调用错误或者我如何更改错误以便gulp构建器编译它。

这发生在多个文件中。希望有一些亮点,我找不到任何相关的东西。

2 个答案:

答案 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函数表达式。