ES6箭头函数 - 使用说明与注意事项

匿名 (未验证) 提交于 2019-12-03 00:18:01
箭头函数,要注意一点其本身不指定作用域;

Test() {   let that = this;   this.data.name = "安";   let inner = {     func: (peram) = >{       this.name = "旭"     },     func1: function() {       this.name = "安旭"     }   }   inner.func();   inner.func1();   console.log("~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~", this.name)   // 输出: ~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~ 旭 }

1、为什么会输出 ‘ 旭 ’
因为 ES6 中的箭头函数,不指定作用域,他的作用域就是上一级(一级一级的往上找)的作用域;
而function(){}, 创建自己的作用域;
2、建议使用赋值 that 吗?
因人而异,一种情况就是,在 () => {} 存在过多时,如果不使用赋值 that,担心会迷;
3、是否要用箭头函数全部替代 function函数?
在需要闭合环境下,不适用箭头函数,而是使用 function 函数;

多交流。。。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!