拉姆达表达式[=]{} 和 [&]{}的区别
时间: 2024-10-22 13:16:00 浏览: 31
拉姆达表达式C#的新特性
4星 · 用户满意度95%
拉姆达表达式(Lambda expressions)是函数式编程语言中的特性,用于创建匿名函数。在JavaScript等支持这种语法的语言中,`=`、`[]`和`{}`有不同的用途:
1. `=>`: 这是最常见的拉姆达表达式分隔符,它表示箭头函数。例如:
```javascript
add = (x, y) => x + y; // 定义了一个加法函数
```
这里的`(x, y)`是参数列表,`=> x + y`是函数体。
2. `[]`: 如果你在方括号里看到一个空的`{}`,这通常代表数组映射(Array Map),它是一个高阶函数,接受一个数组和一个回调函数,对数组的每个元素应用该函数:
```javascript
numbers.map((num) => num * 2); // 对数组中的每个数乘以2
```
这里`[]`内的`()`包裹着的是回调函数,即每个元素的处理逻辑。
3. `{}`: 如果是在花括号内,这可能表示一个匿名函数的主体,尤其当与`new Function`配合时,可以创建自定义函数:
```javascript
var func = new Function('x', '{ return x * x; }'); // 创建一个计算平方的函数
```
简而言之,`=>`用于定义箭头函数,`[]`与`{}`组合在一起常常用于函数式的操作,如数组的映射和自定义函数创建。它们的主要区别在于应用场景和功能的不同。
阅读全文