箭头函数多行时,必须得写return?
时间: 2023-07-18 12:13:41 浏览: 39
箭头函数多行时,如果不写 `{}`,那么函数会默认返回一条语句的结果,如果只有一行语句,可以不用写 `return`,例如:
```
const sum = (a, b) => a + b;
```
如果箭头函数有多行语句,那么必须要使用 `{}`,并且需要显式地使用 `return` 来返回结果,例如:
```
const sum = (a, b) => {
const result = a + b;
return result;
};
```
相关问题
普通函数和箭头函数有什么区别?
普通函数和箭头函数在语法和作用上有以下几点区别:
1. 定义方式:普通函数是使用 `function` 关键字定义,而箭头函数是使用箭头语法(`=>`)定义。
2. 上下文:普通函数的 `this` 关键字会随着调用方式变化而变化,而箭头函数的 `this` 关键字指向它所在上下文的 `this`。
3. 重载:普通函数可以重载,但箭头函数不能。
4. 参数:箭头函数的参数需要在圆括号内指定,而普通函数则可以省略圆括号。
5. 函数体:箭头函数的函数体是一个表达式,它的结果会被返回,而普通函数的函数体是一个语句块,需要使用 `return` 语句显式返回。
总的来说,箭头函数语法更简洁,更适合用作回调函数和简单的工具函数,但是在需要重载或者需要访问当前函数的 `this` 关键字时,普通函数更加适用。
箭头函数和普通函数区别是什么?
箭头函数和普通函数在语法和行为上有一些区别,以下是它们之间的主要区别:
1. 语法:箭头函数使用箭头(`=>`)来定义函数,而普通函数使用`function`关键字。
2. this 绑定:箭头函数没有自己的 `this` 绑定,它会捕获所在上下文的 `this` 值。而普通函数的 `this` 值在运行时根据调用方式决定。
3. arguments 对象:箭头函数没有自己的 `arguments` 对象,而普通函数有。
4. 构造函数:箭头函数不能用作构造函数,不能使用 `new` 关键字创建实例。而普通函数可以用作构造函数来创建对象。
5. 方法定义:在对象字面量中定义方法时,箭头函数不能作为方法,因为它没有自己的 `this` 绑定。而普通函数可以作为方法。
6. 简洁性:箭头函数具有更简洁的语法,特别是对于单行函数体或返回表达式的函数体,可以省略花括号和 `return` 关键字。
总的来说,箭头函数更适合于简单的、无需自己的 `this` 绑定和 `arguments` 对象的场景,而普通函数则更灵活,并且可以用于更复杂的情况,例如需要使用 `this` 或 `arguments` 的情况,或者需要作为构造函数使用的情况。