不了解的人,像我剛開始就亂用這個箭頭函數的{},想起來就加上,想不起來就不加,也沒發現什么大問題,但是最近學了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) }