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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM