箭头函数不可以使用 'new' 关键字来创建对象的原因有以下两点:

  1. 没有 'prototype' 属性:箭头函数本身没有 'prototype' 属性。使用 'new' 关键字创建对象时,会通过构造函数的 'prototype' 属性来设置新对象的原型。然而,箭头函数没有 'prototype' 属性,因此不能被用作构造函数来创建对象。

  2. 没有 'this' 绑定:箭头函数的 'this' 指向是词法上绑定的,即它会继承所在上下文的 'this' 值。而使用 'new' 关键字创建对象时,会创建一个新的对象并将其绑定到构造函数中的 'this' 上。因为箭头函数没有自己的 'this' 绑定,而是继承外部上下文的 'this',所以在箭头函数中使用 'new' 关键字创建对象时,继承的外部 'this' 值将被忽略。

综上所述,箭头函数没有构造函数的特性,没有 'prototype' 属性和自身的 'this' 绑定,因此不能用 'new' 关键字来创建对象。如果尝试在箭头函数上使用 'new' 关键字,会导致 'TypeError' 错误。

为什么不能使用 new 创建箭头函数对象

原文地址: https://www.cveoy.top/t/topic/Qah 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录