这篇文章主要讲解了“es6箭头函数什么时候不能用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6箭头函数什么时候不能用”吧!
在es6中,箭头函数在computed里面不能使用;因为箭头函数中的this指向是根据上下文的,而在computed中箭头函数的this会指向window,数据无法出现,因此不能在computed里使用箭头函数。
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
箭头函数里面的this是根据上下文的,在computed里用箭头函数,由于找不到对应的内容,this会指向window,数据无法出现。
示例如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>计算缓存</title> <script src="js/vue.js"></script> </head> <body> <div id="app"> <p>{{name}}</p> </div> <script> new Vue({ el:"#app", data:{ firstName:"Zheng", lastName:"yifeng" }, // 计算属性不能用箭头函数,箭头函数的this会指向window computed:{ name(){ return this.firstName+this.lastName } //this => window // name:()=>console.log(this) } }) </script> </body> </html>
拓展知识:
箭头函数有他的便捷有他的优点,但是他也有缺点,他的优点是代码简洁,this提前定义,但他的缺点也是这些,比如代码太过简洁,导致不好阅读,this提前定义,导致无法使用js进行一些es5里面看起来非常正常的操作。针对这些缺点,下面我就总结一下什么情况下不该使用箭头函数。
在对象上定义函数
在原型上定义函数
动态上下文中的回调函数
构造函数中
太简短的(难以理解)函数
毫无疑问,箭头函数带来了很多便利。恰当的使用箭头函数可以让我们避免使用早期的.bind()函数或者需要固定上下文的地方并且让代码更加简洁。
箭头函数也有一些不便利的地方。我们在需要动态上下文的地方不能使用箭头函数:定义需要动态上下文的函数,构造函数,需要this对象作为目标的回调函数以及用箭头函数难以理解的语句。在其他情况下,请尽情的使用箭头函数。
感谢各位的阅读,以上就是“es6箭头函数什么时候不能用”的内容了,经过本文的学习后,相信大家对es6箭头函数什么时候不能用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。