温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

es6箭头函数什么时候不能用

发布时间:2022-04-01 10:18:30 来源:亿速云 阅读:203 作者:iii 栏目:web开发

这篇文章主要讲解了“es6箭头函数什么时候不能用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6箭头函数什么时候不能用”吧!

在es6中,箭头函数在computed里面不能使用;因为箭头函数中的this指向是根据上下文的,而在computed中箭头函数的this会指向window,数据无法出现,因此不能在computed里使用箭头函数。

本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

es6箭头函数在哪里不能用

箭头函数里面的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箭头函数什么时候不能用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

es6
AI