贝利信息

javascript中的箭头函数有何特点【教程】

日期:2026-01-23 00:00 / 作者:夜晨
箭头函数不是普通函数的简写,它没有自己的this、arguments、super、new.target,不能用作构造函数,不支持yield,无prototype属性,无法访问arguments对象,单参数单表达式可省略括号和return。

箭头函数不是普通函数的简写替代,它没有自己的 thisargumentssupernew.target,也不能用作构造函数。

箭头函数没有独立的 this 绑定

它的 this 始终继承自外层作用域(词法绑定),不会随调用方式改变。这在事件回调、定时器或对象方法中特别明显:

箭头函数不能用 new 调用

它没有 [[Construct]] 内部方法,尝试 new (() => {}) 会直接抛出 TypeError: xxx is not a constructor

没有 arguments 对象,也不支持 yield

箭头函数体内访问 arguments 会报 ReferenceError,因为它不创建自己的参数绑定。

单参数、单表达式可省略括号和 return

这是唯一被广泛接受的语法糖,但容易误读逻辑边界:

真正容易踩坑的是把箭头函数当“更短的 function”来用——它改写了函数的核心契约。是否用它,关键看你要不要 this 动态绑定、要不要构造实例、要不要 arguments。这些不是风格问题,是语义差异。