尚硅谷TypeScript教程(李立超老師TS新課)

TypepScipt是什么東東?
JS 的超集 ?javascript 輕量級(jí)的變量約束
支持在任何支持JavaScript的平臺(tái)執(zhí)行
添加很多類型 提高大型項(xiàng)目的可維護(hù)性
最終會(huì)編譯成JS。類似于預(yù)編譯的處理(less,scss)
它干了啥?
增加了很多類型 兼容各種js 語法
boolean string number [] ?Array<number> any,Object類型只是允許對(duì)變量定義 enum Tuple 元組類型
開始搞事情
node必須的
安裝:npm i -g typescirpt
https://www.tslang.cn/docs/handbook/basic-types.html 配合官網(wǎng)一起食用
動(dòng)態(tài)變量=> 靜態(tài)類型變量
let c = fasle; 變量和賦值同時(shí)進(jìn)行,TS 可以自動(dòng)對(duì)變量進(jìn)行類型檢測(cè) 類型推斷
let a:number;
聯(lián)合類型 多個(gè)類型選擇(string,boolean)
let a : string | boolean
any
unknown 類型安全的any
斷言 語法
<string>e e as string
never
類型表示的是那些永不存在的值的類型.
never
類型是那些總是會(huì)拋出異常或根本就不會(huì)有返回值的函數(shù)表達(dá)式或箭頭函數(shù)表達(dá)式的返回值類型
【propName:string】:any 任意類型屬性
函數(shù)的申明定義約束。
let a (a:number,b:number)=>number
tsconfig.json文件配置
{
"include":["./src/**/*"],// 那些文件需要編譯
** 任意目錄
*任意文件 node_modules
exclude:[""],
extends: 繼承其它文件
files 枚舉需要選擇的文件
compilerOptions:{
target:'es5',// EsNext 編譯的版本
"module":"commonjs" , es2016,
"lib" : "" 指定項(xiàng)目用到的庫
outFile:""
allowjs:true,
checkjs:true,
removeComments:"" 移除注釋
noEmit
}
}
//webpack ts 代碼打包
https://webpack.docschina.org/
npm install webpack webpack-cli typescript ts-loader
babel
resolve:{
extesion:['.ts','js'] // 那些文件被認(rèn)定為
}
babel/core babel/preset-env
babel-loader
{
loader:babel-loader,
options:{
presets:[
"@babel/preset-env"“{
”target":{
"chrome":'88' ,
"ie":‘11’
}
}
]
}
}
面向?qū)ο?/span>