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)
  }

 

posted @ 2019-07-12 10:00  杨煊煊  阅读(2222)  评论(0编辑  收藏  举报