在Java中有匿名函数的简化写法(Lambda表达式),对于极度想靠近Java的JavaScript相比肯定会有这种操作。所以在ES6中也添加了相应的操作。
但是想吐槽一下,Java中是-;在JavaScript中是=。为啥就不能弄成一样的呢?还得区分记忆!
在JavaScript中的Lambad表达式与Java中极其相似,只有一个字符不一样,如下所示:
//在Java中
(int x1, int x2)->{
return x1+x2;
}
//在JavaScript中
(x1, x2)=>{
return x1+x2;
}
是不是极其相似?其他方面也是一样的,例如可以减少参数,可以减少代码块的行数。如下:
//例如,可以省略参数
x =>{
x += 1;
x += 2;
return x;
}
//又例如,代码块中只有一条语句时可以这么写
x => x*x;
//等价于
(x)=>{
return x*x;
}