插件窝 干货文章 代码日/日:反思箭头函数

代码日/日:反思箭头函数

函数 箭头 上下文 传统 293    来源:    2024-10-21

2024 年 8 月 28 日,星期三

当我完成 14 个迷你项目时,在完成猜数字游戏之前还有一项作业。在整个旅程中,我发现人工智能对于获取有关我的编码风格的反馈非常有帮助。

我有一个关于编写函数的问题,因为当有机会时我通常会编写箭头函数,因为在我上一份工作中,箭头函数是常态,尤其是在技术展示期间。但尽管有它们的名字,它们实际上是变量或表达式语句。所以,我想知道我是否因为不经常使用传统功能而错过了。

这是 Copilot 不得不说的关于箭头函数和传统函数之间的差异。这些要点值得注意,尽管我们还没有全部涵盖:

  • 语法和简洁性:箭头函数提供更短的语法,使您的代码更具可读性和简洁性,尤其是对于简单的函数。 this 绑定:箭头函数没有自己的 this 上下文;他们从周围的词汇上下文继承它。这对于您想要维护上下文的事件处理程序或回调很有用。传统函数有自己的 this 上下文,这有时会令人困惑。
  • arguments 对象:箭头函数没有自己的arguments 对象。如果需要访问传递给函数的参数,则需要使用剩余参数 (...args)。传统函数有自己的参数对象,这很方便。
  • 构造函数:箭头函数不能用作构造函数,如果尝试将它们与 new 关键字一起使用,则会抛出错误。传统函数可以用作构造函数,这对于面向对象编程很重要。
  • 方法:箭头函数不适合在对象中定义方法,因为它们没有自己的 this 上下文。传统函数更适合此目的。
  • 总之,虽然箭头函数非常适合许多用例,尤其是回调和简单函数,但传统函数仍然占有一席之地。熟悉两者并根据上下文适当地使用它们是件好事。