這個月一直在用 TypeScript 改版舊系統(tǒng), 總體感覺與JS相比, TS 開發(fā)是開頭慢, 重構(gòu)快.
開始一個功能時,不像JS那樣上來就直奔主題, 而是要定義接口類型. 有時候, 為了適配一個很簡單的結(jié)構(gòu), 需要花很多精力來讓IDE不告警. 像我這樣前后端都是自己開發(fā)的情況, 同一個數(shù)據(jù)接口, 往往需要先在后端定義, 然后又要在前端做一遍相同的事情, 的確很折磨.
好處就是, 重構(gòu)的時候, 心智負擔會小很多. 例如給接口增加一些屬性, 或者更換屬性名, 如果有遺漏的地方, IDE 會告警, 不用像之前那樣, 總擔心自己會不會沒有考慮周全.
另外一個好處是代碼提示, 按下點之后, 候選屬性就會自動彈出. 但這個優(yōu)勢并不是很突出, WebStorm針對JS的智能感知也幾乎能夠做到類似效果.