美文网首页前端面试题
箭头函数和普通函数有什么区别?

箭头函数和普通函数有什么区别?

作者: 泛滥的小愤青 | 来源:发表于2022-11-11 20:33 被阅读0次

    题目:
    箭头函数和普通函数有什么区别?
    箭头函数为什么不能用作构造函数?

    参考答案

    区别:
    1. 箭头函数在一些情况下书写更简洁(如只有一个参数、函数体直接返回值时候)。
    2. 箭头函数没有自己的this,箭头函数内的this变量指向外层非箭头函数的函数的this,或者将该箭头函数作为属性的对象。箭头函数也不支持call()/apply()函数特性。
    3. 箭头函数内部不可以使用arguments对象。
    4. 箭头函数不可以当做构造函数。
    为什么不能用作构造函数:
    • 构造函数是通过new关键字来生成对象实例,生成对象实例的过程也是通过构造函数给实例绑定this的过程,而箭头函数没有自己的this。
    • 创建对象过程,new 首先会创建一个空对象,并将这个空对象的proto指向构造函数的prototype,从而继承原型上的方法,但是箭头函数没有prototype。
    • 因此不能使用箭头作为构造函数,也就不能通过new操作符来调用箭头函数

    相关文章

      网友评论

        本文标题:箭头函数和普通函数有什么区别?

        本文链接:https://www.haomeiwen.com/subject/tuntxdtx.html