永发信息网

什么时候不该使用es6箭头函数

答案:1  悬赏:0  手机版
解决时间 2021-11-21 01:38
  • 提问者网友:一抹荒凉废墟
  • 2021-11-20 10:56
什么时候不该使用es6箭头函数
最佳答案
  • 五星知识达人网友:玩家
  • 2021-11-20 12:08
想了一下,大概有以下几种情况吧:


    不支持箭头函数的环境
    目前支持箭头函数的环境毕竟还不多,仅 Safari、Chrome、Firefox 较新版本,Microsoft Edge、NodeJS 4.x、NodeJS 6.x 支持。IE 全系列都不支持。
    在函数里面需要使用 this 变量的时候
    箭头函数中没有自己的 this 变量,在箭头函数内部调用的 this 实际上是函数作用域之外的 this,所以如果对 this 有调用需求,就不可以用箭头函数,比如给 dom 绑定事件:


document.body.addEventListener( 'click', function() {

    this.setAttribute( 'clicked', 1 ); // 这个 this 指向 document.body

}, false );


document.body.addEventListener( 'click', () => {

     console.log( this ); // this 指向 window

}, false );

3. 在函数里面需要调用内部 arguments 的时候
    箭头函数没有自己的 arguments 变量,所以如果函数内部要调用 arguments 变量,不可以使用箭头函数。但是也可以通过一些其他方式解决,比如:


 
const foo = ( ...args ) => {

    console.log( args ); // args 和 function 函数的 arguments 类似

};
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯