📜  常规函数和箭头函数的区别(1)

📅  最后修改于: 2023-12-03 15:39:27.333000             🧑  作者: Mango

常规函数和箭头函数的区别

在JavaScript中,常规函数和箭头函数是两种不同的定义函数的方式。它们有一些相似之处,但也有很多区别。

常规函数

常规函数是我们通常编写的JavaScript函数,它们使用function关键字定义,可以有多个参数和函数体,可以返回一个值或undefined。

function add(a, b) {
  return a + b;
}

console.log(add(2, 3)); // 输出 5

常规函数的this关键字指向函数被调用时的上下文,所以this的值在每次调用时都可能不同。

箭头函数

箭头函数是ES6引入的新特性,它们使用箭头语法(=>)定义函数。箭头函数可以省略函数体的花括号和return关键字(如果函数体只有一条语句),并且this关键字总是指向箭头函数被定义时的上下文。

const add = (a, b) => a + b;

console.log(add(2, 3)); // 输出 5

箭头函数中的this指向的是在其上下文中定义的值,一旦定义了该值,就不会再改变。

常规函数和箭头函数的区别
  • 语法不同:常规函数使用function关键字定义,而箭头函数使用箭头语法(=>)定义。
  • 箭头函数可以省略函数体的花括号和return关键字。
  • this关键字的指向不同:常规函数中的this指向调用函数时的上下文,而箭头函数中的this指向定义函数时的上下文。
  • 箭头函数不能作为构造函数使用。
  • 箭头函数不能使用arguments关键字,但可以使用...rest参数。
总结

常规函数和箭头函数都有自己的使用场景。根据实际需求选择合适的函数定义方式,可以提高代码的可读性和可维护性。