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