箭头函数是ES6引入的简洁函数语法,无this绑定、不可实例化、无arguments,适用于短回调;普通函数具备完整动态特性,适用于需this控制或构造场景。

箭头函数是 ES6 引入的一种函数定义方式,用 => 符号代替 function 关键字,语法更紧凑,适合写短小逻辑或回调。但它不是普通函数的简单“简写”,而是有本质差异的设计。
箭头函数省略 function、可省括号(单参数时)、可省花括号和 return(单表达式时):
const square = x => x * x —— 比 function(x) { return x * x; } 少一半字符() => Date.now();多参数必须加括号:(a, b) => a + b
{} 和 return:x => { console.log(x); return x * 2; }
这是最常踩坑的一点:箭头函数没有自己的 this,它直接继承外层作用域的 this,且无法更改。
this 在调用时才确定,谁调用就指向谁(如对象方法、事件处理器、new 实例等)this 在定义时就锁死,之后无论怎么调用、用 .call() 或 .bind() 都无效this 往往指向全局或外层函数,而不是当前对象箭头函数被有意设计为“轻量工具”,因此主动舍弃了一些面向对象和动态执行的能力:
new 调用 —— 它没有 prototype,也不配做构造函数arguments 对象 —— 需用剩余参数 ...args 替代super、new.target,也不能作为 Generator(不支持 yield)fn.name 为空字符串)基本上就这些。选哪个函数,关键看场景:要绑定 this、要实例化、要动态参数处理,就用普通函数;写个简单映射、过滤、回调,又不想管 this 绑定,箭头函数更干净利落。
以上就是什么是箭头函数_它与普通函数有何区别?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号