箭头函数属性原型为未定义

时间:2019-02-01 13:45:27

标签: javascript es6-class

下面,我创建了两个函数f1作为常规函数,f2作为箭头函数,其中箭头函数无法使用new关键字实例化,但出现以下错误:

var f1 = () => { console.log('f1') }
// undefined
var b = new f1();
// Uncaught TypeError: f1 is not a constructor

同时

function f2() { console.log('f2') }
// undefined
var c = new f2();
// f2
// undefined

f1和f2的类型函数如下:

typeof f1
// "function"
typeof f2
// "function"

但是普通函数f1具有具有构造函数 prototype 属性,而作为箭头函数的函数f2没有它

f2.prototype.constructor
// ƒ f2() { console.log('f2') }
f1.prototype
// undefined

这是箭头功能的正常行为吗,因为它们不包含原型属性,或者我做错了什么?

0 个答案:

没有答案