-
斷言
查看全部 -
實(shí)例
查看全部 -
聯(lián)合和交叉類型
查看全部 -
區(qū)別
查看全部 -
別名
查看全部 -
函數(shù)類型的聯(lián)合類型和交叉類型試驗(yàn)結(jié)果如下:
對于交叉類型:函數(shù)參數(shù)列表取并集,函數(shù)返回值列表取交集。
對于聯(lián)合類型:直接取第一個(gè)聯(lián)合前的函數(shù)類型,后面的函數(shù)類型均無效,所以沒有意義。
另外,對象/接口的聯(lián)合/交叉類型也會(huì)增加復(fù)雜度,個(gè)人感覺通常情況下不適合使用,希望老師能給點(diǎn)例子說明適合使用的具體場景。
查看全部 -
const?products?=?{ 1:?{ name:'nick', price:200 }, 2:{ name:?'adidas', price:300 } } interface?Product?{ name:string price:?number } //索引類型 interface?Products?{ [id:number]:Product } //映射類型 type?Keys?=?keyof?Product; type?Tp?=?typeof?products;
查看全部 -
//接口--類型的結(jié)構(gòu) interface?User?{ name:string age:?number } //類型別名 type?UserType?=?{ name:string age:?number } function?fun(params:User):User{ return?params } //?接口可擴(kuò)展,類型不能 interface?Person?extends?User{ email:string } //接口可以被類實(shí)現(xiàn),type不能 class?ManC?implements?User{ name:string; age:?number; email:?string; constructor(name:string,?age:number,email:string){ this.name?=?name; this.age?=?age; this.email?=?email } } interface?Woman{ age:?number } interface?Man{ name:string } //type支持聯(lián)合類型和交叉類型,interface不支持 type?People?=?Man?|?Woman;??//聯(lián)合類型????Man?&?Woman?交叉類型(兩個(gè)都得有) const?p:People?=?{ name:?'zyw', age:?34 } //兩種都可以用時(shí),首選interface //首字母大寫 //有些公司,interface前加I,type前加T。不建議
查看全部 -
表驅(qū)動(dòng)
//?枚舉 enum?OrderStatus1{ Pending, Shipped, Completed, Cancelled, Unknown } //-------0?1?2?3?4 //?數(shù)字枚舉 enum?OrderStatus2{ Pending=3, Shipped, Completed=8, Cancelled, Unknown } //---------3?4?8?9?10 //?字符串枚舉 enum?OrderStatus3{ Pending='Pending', Shipped='Shipped', Completed='Completed', Cancelled='Cancelled', Unknown='Unknown' } //?異構(gòu)枚舉 enum?OrderStatus4{ Pending, Shipped, Completed='Completed', Cancelled='Cancelled', Unknown='Unknown' } //------0?1??Completed?Cancelled?Unknown
查看全部 -
js和ts類型
//?數(shù)組 const?arr1:string[]?=?['a','b','c']; const?arr2:Array<number?|?string>?=?['a',3,5]; //?元祖--嚴(yán)格按照順序,一一對應(yīng) const?tuple:?[string,number]?=?['a',3] //?函數(shù) //?1.箭頭函數(shù) type?Fun?=?(params:string)=>boolean; const?fun1:Fun?=?()=>false; //?2.函數(shù)語句 function?fun2(params:string):boolean{ return?false; } //?沒有返回值--void const?v=():void?=>{} //?對象 interface?Obj?{a:string,b:string} const?obj:Obj?=?{ a:'1', b:'2' }
查看全部 -
mkdir foldName 命令行新建文件夾
查看全部 -
1
查看全部 -
如何搭建TypeScript環(huán)境:
在線網(wǎng)頁版編輯器地址:https://www.typescriptlang.org/,選擇Playground進(jìn)入在線編輯區(qū)。
npm構(gòu)建包環(huán)境:
1)先創(chuàng)建一個(gè)空文件
2)打開vscode,打開剛創(chuàng)建的空文件
3)終端中輸入:npm init,之后一直回車,則會(huì)創(chuàng)建出一個(gè)package.json文件
4)新建src文件夾,在該文件中新建index.ts文件
5)全局安裝typescript:終端輸入命令---npm i typescript -g
6)? 查看是否安裝和查看版本:tsc -v
7)輸入tsc --init 自動(dòng)創(chuàng)建出tsconfig.json配置文件
8)在配置文件中輸入調(diào)試運(yùn)行語句:"build":"tsc"
9)? 終端中輸入npm run build
構(gòu)建前端項(xiàng)目
1)打開cmd,進(jìn)入想要?jiǎng)?chuàng)建前端項(xiàng)目地址,輸入命令:npm create vite@latest
2)選擇是否創(chuàng)建,輸入:y
3)? 輸入創(chuàng)建的文件名
4)選擇語言:vue
5)? 選個(gè)腳本語言: typescript
6) 創(chuàng)建成功,根據(jù)提示,進(jìn)入項(xiàng)目目錄下,輸入:npm install安裝依賴,輸入:npm run dev運(yùn)行成功打開網(wǎng)址即可
查看全部 -
定義數(shù)組、函數(shù)
查看全部 -
四個(gè)范式
查看全部
舉報(bào)