ES6中箭头函数加不加大括号的区别
不了解的人,像我刚开始就乱用这个箭头函数的{},想起来就加上,想不起来就不加,也没发现什么大问题,但是最近学了angular,这个加上了{},就开始不显示任何数据,也是从网上找了这个加不加的区别
首先不加{},这时箭头函数指向的就是这个函数的返回值,用在只返回返回值的时候,只写一个箭头,就行
另一种加{},这就是一个代码块跟之前没区别,还是要写上返回值,就是要return 东西,不然什么也得不到
这就是两者的区别
实例如下:添加大括号时 一定要有return
// 根据商品的id直接返回对应商品的评论信息 getCommentsForProductId( id:number):Comment[]{ // 进行过滤,传进来的是评论的id, 如果评论的id 和该商品的id一样 ,就直接添加到对应的comments数组中 return this.comments.filter((comment:Comment)=>{ return comment.productId == id } ) }
不添加大括号
// 根据商品的id直接返回对应商品的评论信息 getCommentsForProductId( id:number):Comment[]{ // 进行过滤,传进来的是评论的id, 如果评论的id 和该商品的id一样 ,就直接添加到对应的comments数组中 return this.comments.filter((comment:Comment)=> comment.productId == id) }