javascript中的箭头函数是什么_与传统函数有何不同?

1次阅读

箭头函数是javaScript中语法更简洁的函数定义方式,无自身this、arguments、super和new.target,继承外层作用域;适用于回调和数组方法,但不可用作构造函数

javascript中的箭头函数是什么_与传统函数有何不同?

箭头函数是 javascript 中定义函数的一种简洁语法,它没有自己的 thisargumentssupernew.target,而是继承自外层作用域。它主要用来简化函数写法,尤其适合用在回调、数组方法(如 mapFilter)等场景。

语法更简洁

箭头函数省略了 function 关键字和 return(当只有一条表达式时自动返回):

  • 传统函数:const add = function(a, b) { return a + b; };
  • 箭头函数:const add = (a, b) => a + b;
  • 单参数可省括号:const square = x => x * x;
  • 无参数需写空括号:const sayHi = () => console.log('Hi');

this 绑定方式不同

传统函数的 this 取决于调用方式(谁调用,this 就指向谁),而箭头函数没有自己的 this,它会沿作用域链向上查找,使用定义时所在上下文的 this

  • 对象方法中用传统函数,this 指向该对象;但若内部回调用传统函数,this 可能丢失(比如传给 setTimeout
  • 换成箭头函数后,this 保持外层对象的绑定,避免手动 .bind(this) 或用变量暂存 const self = this

没有 arguments 对象

箭头函数内部访问不到 arguments,但可以用剩余参数(...args)替代:

javascript中的箭头函数是什么_与传统函数有何不同?

挖错网

一款支持文本、图片、视频纠错和AIGC检测的内容审核校对平台。

javascript中的箭头函数是什么_与传统函数有何不同? 185

查看详情 javascript中的箭头函数是什么_与传统函数有何不同?

立即学习Java免费学习笔记(深入)”;

  • 传统函数:function sum() { return Array.from(arguments).reduce((a, b) => a + b); }
  • 箭头函数:const sum = (...args) => args.reduce((a, b) => a + b);

不能作为构造函数使用

箭头函数没有 prototype 属性,也不能用 new 调用,否则会报错:

  • const Person = (name) => ({ name });new Person('Alice') 报错 TypeError: Person is not a constructor
  • 需要构造实例时,必须用传统函数或 class

基本上就这些。箭头函数不是万能替代品,关键看是否需要独立的 thisarguments 或构造能力。用对地方,代码更干净;误用反而引发隐性 bug

以上就是

text=ZqhQzanResources