2023年3月15日 星期三

Typescript在filter後需要指定過濾完的type

 ts畢竟屬於一種擴充的超集合,並非是原生的一個語言,所以某些情境使用上會沒有這麼直覺。

先不要戰!!還是都有得解,只是不熟悉的小夥伴可能需要去查閱一下資料。

例如大家最熟悉的一個方法filter,對ts來說他就沒有辦法很明確知道過濾完之後會剩下什麼類別的集合,參見圖片


ide提示sub有可能是undefined,但理論上我應該在filter就把sub為空的都過濾掉了。當然你可以忽略紅線,也可以使用?或!告訴ide一定有值,今天要使用我上網爬文看到的方法,只要加上一段定義回傳內容即可


etc,如果直接定義方法回傳內容為(x): iType => ...是會報錯的喔,因為!!x.sub是boolean並非iType

沒有留言:

張貼留言