不能。箭头函数无法通过 new 实例化,因其缺少[[Construct]]内部方法、无prototype属性、this词法绑定不可重置,且不支持arguments、caller、callee及yield等构造函数必需特性。

不能。箭头函数无法通过 new 实例化,调用时会直接抛出 TypeError: XXX is not a constructor。
缺少 [[Construct]] 内部方法
ECMAScript 规范要求,能被 new 调用的函数必须实现 [[Construct]] 内部方法。普通函数(包括函数声明、函数表达式)天然具备该方法;而箭头函数在语言设计上被明确排除,不实现它。这是最根本的限制。
没有 prototype 属性
new 操作的第一步是将新对象的 __proto__ 指向构造函数的 prototype。但箭头函数没有 prototype 属性(访问返回 undefined),原型链无法建立:
Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设...
const Arrow = () => {};
console.log(Arrow.prototype); // undefined
this 无法被重绑定
new 的关键行为之一是把构造函数内部的 this 绑定到新创建的对象上。但箭头函数的 this 是词法绑定的——它永远继承外层作用域的 this,且不可被 call、apply 或 new 改变。这就导致实例属性无法挂载到新对象上:
立即学习“Java免费学习笔记(深入)”;
const Person = (name) => { this.name = name };
new Person('Alice'); // TypeError,且即使不报错,this 也不会指向新对象
其他必要特征也缺失
除了上述三点,箭头函数还缺少:
- 无法访问
arguments对象(需用剩余参数...args替代) - 没有
caller和callee属性 - 不能用作 Generator 函数(不支持
yield)

















