一、javascript的問題
二、初識typescript
https://mp.weixin.qq.com/s/wnL1l-ERjTDykWM76l4Ajw
三、類型
二進制:ob開頭,八進制:0o開頭,十六進制:0x開頭
開發中不這樣寫
這樣寫
匿名函數的參數最好不要指定參數類型,會根據上下文推導出
any類型
unknow類型
unknown類型默認情況下在上面進行任意的操作都是非法的
要求必須進行類型的校驗(縮小), 才能根據縮小之后的類型, 進行對應的操作
void類型
函數指定返回值是void,允許return undefined,并不會報錯
never類型
①實際開發中只有進行類型推導時, 可能會自動推導出來是never類型, 但是很少使用它
②封裝框架/工具庫的時候可以使用一下never
聯合類型
類型別名
type
interface
只能用來聲明對象
interface和type的區別
交叉類型
類型斷言 as
非空類型斷言
字面量類型
類型縮小
ts函數類型
匿名函數的參數不需要寫類型注解,ts會自動推導
可推導的this類型
https://mp.weixin.qq.com/s/hYm0JgBI25grNG_2sCRlTA
tsc --init 初始化ts配置文件
四、ts中的面向對象
private和protected 實例不可訪問
是個語法糖,必須顯示的寫上修飾符
ts使用的類型檢測方法:鴨子類型
類的類型
索引簽名
接口繼承
嚴格的字面量賦值檢測
枚舉類型
五、泛型
https://github.com/type-challenges/type-challenges
https://ghaiklor.github.io/type-challenges-solutions/en/
六、語法擴展
ts模塊化
https://github.com/microsoft/TypeScript/tree/main/lib
快速搭建一個webpack server
tsconfig.json